- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 NSMutableArray,我在其中存储从服务 url 获取的项目并完成解析。我在 UITableView 中显示数组项目,其行为类似于 gridview(每行 4 列,行数取决于数组计数)。这有点像显示一周内所有可用的在线考试时段。所以我必须一个一个地加载每天的时间,如果所有的插槽都是为特定的一天保留的,那么应该显示当天的消息(没有可用的插槽),然后加载下一个tableView 中的数组项。但我只能获得最后一天的可用时段。
我必须采用以下格式:
10/1/2013
10:00 AM 11:00 AM 12:00 PM 1:00 PM
2:00 PM
11/1/2013
11:00 AM 12:00 PM 1:00 PM 2:00 PM
12/1/2013
No slot available
13/1/2013
10:00 AM 11:00 AM 12:00 PM 1:00 PM
2:00 PM 3:00 PM
............
-(void)LoadWeekSlots
{
for(int i=0;i<7;i++)
{
NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSDateComponents *offsetComponents = [[NSDateComponents alloc] init];
[offsetComponents setDay:i];
NSDate *nextDate = [gregorian dateByAddingComponents:offsetComponents toDate: [NSDate date] options:0];
[offsetComponents release];
[gregorian release];
NSLog(@"%@",nextDate);
NSDateFormatter *df=[[[NSDateFormatter alloc]init] autorelease];
df.dateFormat = @"yyyy-MM-dd";
getdateinmmformat=[[NSString stringWithFormat:@"%@",[df stringFromDate:nextDate]] componentsSeparatedByString:@""];
NSLog(@"%@",getdateinmmformat);
result=[[getdateinmmformat valueForKey:@"description"] componentsJoinedByString:@""];
weekdayString=[nextDate descriptionWithCalendarFormat:@"%A" timeZone:nil locale:[[NSUserDefaults standardUserDefaults]dictionaryRepresentation]];
NSLog(@"Day :%@",weekdayString);
selectedtableView=i;
[self LoadSlots];
NSLog(@"%@",arr1);
}
}
-(void)LoadSlots{
// calling the service url and taking the values in NSMutableArray (arr1)
[self CheckArray];
}
-(void)CheckArray{
NSMutableArray *yourArray = [[NSMutableArray alloc] init];
for (NSDictionary *dict in arr3) {
NSString *str=[dict valueForKey:@"Code"];
NSString*newstr= [str stringByReplacingOccurrencesOfString:@"," withString:@""];
[yourArray addObject:newstr];
}
BOOL isTheObjectThere = [yourArray containsObject:weekdayString];
if([arr1 count]==0 && isTheObjectThere==YES)
{
displayError =[[UILabel alloc]init];
[displayError setFrame:CGRectMake(0,390,320,200)];
displayError.textAlignment=UITextAlignmentLeft;
displayError.backgroundColor=[UIColor clearColor];
NSString *string1=@" No slot available.";
displayError.text=[NSString stringWithFormat:@"%@ ",string1];
displayError.textColor=[UIColor redColor];
displayError.shadowColor=[UIColor blackColor];
displayError.font=[UIFont fontWithName:@"Verdana-Italic" size:14];
[testscroll addSubview:displayError];
float fscrview =displayError.frame.origin.y + displayError.frame.size.height+ 60;
testscroll.contentSize=CGSizeMake(320, fscrview);
}
else
{
sections=[[NSMutableArray alloc] init];
for(int s=0;s<1;s++)
{
NSMutableArray *section=[[NSMutableArray alloc] init];
for(int i=0;i<[arr1 count];i++)
{
Item *item=[[Item alloc] init];
NSString *eventName=[[arr1 objectAtIndex:i]objectForKey:@"TimeStart"];
item.TimeStart=eventName;
[section addObject:item];
}
[sections addObject:section];
}
self.tableView=[[UITableView alloc]initWithFrame:CGRectMake(0,390,320,[arr1 count]*40) style:UITableViewStylePlain];
self.tableView.delegate = self;
self.tableView.dataSource = self;
self.tableView.scrollEnabled=NO;
[testscroll addSubview:self.tableView];
[self.tableView reloadData];
self.tableView.frame = CGRectMake(self.tableView.frame.origin.x, self.tableView.frame.origin.y, self.tableView.frame.size.width, self.tableView.contentSize.height);
float fscrview = self.tableView.frame.origin.y + self.tableView.frame.size.height + 10;
testscroll.contentSize=CGSizeMake(320, fscrview);
testscroll.scrollEnabled=YES;
}
}
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return 1;
}
-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
NSMutableArray *sectionItems=[sections objectAtIndex:indexPath.section];
int numRows=[sectionItems count]/4;
if(numRows==0)
{
return 80;
}
else
{
NSArray* items = [sections objectAtIndex:indexPath.section];
int total = [items count];
float f = (float)total /4;
int numberOfGridRows = ceilf(f);
NSLog(@"\n\n Rows :>> %d",numberOfGridRows);
if(numberOfGridRows==1)
{
return numberOfGridRows * 100.0;
}
else if(numberOfGridRows==2)
{
return numberOfGridRows * 70.0;
}
else if(numberOfGridRows==3)
{
return numberOfGridRows * 60.0;
}
else if(numberOfGridRows==4)
{
return numberOfGridRows * 70.0;
}
if(numberOfGridRows>4 && numberOfGridRows<8)
{
return numberOfGridRows * 65.0;
}
else
{
return numberOfGridRows * 40.0 ;
}
}
}
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *hlCellID=@"hlCellID";
UITableViewCell* hlcell=[tableView dequeueReusableCellWithIdentifier:hlCellID];
if(hlcell == nil)
{
hlcell = [[[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:hlCellID]autorelease];
hlcell.accessoryType = UITableViewCellAccessoryNone;
hlcell.selectionStyle = UITableViewCellSelectionStyleNone;
}
int section=indexPath.section;
NSMutableArray *sectionItems=[sections objectAtIndex:section];
int n=[sectionItems count];
int i=0,i1=0;
while(i<n)
{
int yy= 4+i1*34;
int j=0;
for(j=0;j<4;j++)
{
if(i>=n)break;
Item *item=[sectionItems objectAtIndex:i];
CGRect rect=CGRectMake(0+70*j,yy,79,40);
UIButton *button=[[UIButton alloc] initWithFrame:rect];
[button setFrame:rect];
[button setContentMode:UIViewContentModeLeft];
button.titleLabel.font = [UIFont systemFontOfSize:14];
NSString *settitle=[NSString stringWithFormat:@"%@",item.TimeStart];
[button setTitle:settitle forState:UIControlStateNormal];
NSString *tagValue=[NSString stringWithFormat:@"%d%d",indexPath.section+1,i];
button.tag=[tagValue intValue];
[button setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
[button setShowsTouchWhenHighlighted:YES];
[button addTarget:self action:@selector(buttonPressed:) forControlEvents:UIControlEventTouchUpInside];
[hlcell.contentView addSubview:button];
[button release];
i++;
}
i1=i1+1;
}
return hlcell;
}
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
return [sections count];
}
最佳答案
尝试我的以下代码中的一些代码...删除一些对您无用的其他代码..
我有这种类型的要求,我用我的波纹管代码和逻辑完成了它......还看到我认为你想要类似的图像......
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
return [_grids count];
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return 1;
}
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
NSArray* items = [_grids objectAtIndex:indexPath.section];
//number of rows in one grid if one row will have 4 items
// float totalRow = ceilf(items.count/4);
int total = [items count];
float f = (float)total /4;
int numberOfGridRows = ceilf(f);
NSLog(@"\n\n Rows :>> %d",numberOfGridRows);
//height of table row
return numberOfGridRows * 36.0 + 120;
}
- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section
{
return [NSString stringWithFormat:@"Grid %d", section];
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString* cellIdentifier = @"gridCell";
UITableViewCell *gridCell = [tableView dequeueReusableCellWithIdentifier:nil];
if(gridCell == nil)
{
gridCell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIdentifier] autorelease];
gridCell.accessoryType = UITableViewCellAccessoryNone;
gridCell.selectionStyle = UITableViewCellSelectionStyleNone;
}
// UIImageView *img = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"lion.jpg"]];
// [img setFrame:CGRectMake(0, 0, 320, 120)];
// [gridCell.contentView addSubview:img];
UIImageView *imgUser = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"noImage.png"]];
[imgUser setFrame:CGRectMake(5, 5, 100, 115)];
[gridCell.contentView addSubview:imgUser];
UILabel *lbl = [[UILabel alloc]init];
lbl.text = @"Dr. P.R. Joshi";
lbl.font = [UIFont fontWithName:@"Helvetica-Bold" size:15];
[lbl setFrame:CGRectMake(110, 5, 200, 31)];
[gridCell.contentView addSubview:lbl];
UILabel *lblAddress = [[UILabel alloc]init];
[lblAddress setFrame:CGRectMake(110, 31, 200, 31)];
lblAddress.text = @"706,Atlanta Tower,Gulbai Tekra,Ahemdabad-007.";
lblAddress.lineBreakMode = UILineBreakModeWordWrap;
lblAddress.numberOfLines = 0;
lblAddress.font = [UIFont fontWithName:@"Helvetica" size:12];
// CGSize sizeToMakeLabel = [lblAddress.text sizeWithFont:lblAddress.font];
lblAddress.frame = CGRectMake(lblAddress.frame.origin.x, lblAddress.frame.origin.y,
200,[self calculateHeightOfTextFromWidth:lblAddress.text :lblAddress.font :200 :UILineBreakModeWordWrap] );
lblAddress.textColor = [UIColor darkGrayColor];
[gridCell.contentView addSubview:lblAddress];
DYRateView *rateView = [[[DYRateView alloc] initWithFrame:CGRectMake(110, lblAddress.frame.origin.y + lblAddress.frame.size.height + 5, 160, 14)] autorelease];
rateView.rate = 4.5;
rateView.alignment = RateViewAlignmentLeft;
[gridCell.contentView addSubview:rateView];
UIImageView *imgArrow = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"left-arrow-right-md.png"]];
[imgArrow setFrame:CGRectMake(300, 57, 12, 18)];
[gridCell.contentView addSubview:imgArrow];
NSArray* items = [_grids objectAtIndex:indexPath.section];
int imageIndex = 0;
int yOffset = 4;
while (imageIndex < items.count)
{
int yPos = 7 + yOffset * 30;
for(int i = 0; i < 4; ++i)
{
CGRect rect = CGRectMake((0 + i * 80), yPos, 80, 31);
if (imageIndex < [items count]) {
UIImageView* imageView = [self gridImageRect:rect forImage:[items objectAtIndex:imageIndex]];
[gridCell.contentView addSubview:imageView];
[imageView release];
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
button.frame = rect;
button.tag = imageIndex;
[button addTarget:self
action:@selector(btnTemp_Clicked:)
forControlEvents:UIControlEventTouchDown];
[button setTitle:[NSString stringWithFormat:@"Title %d%d%d",indexPath.section,indexPath.row,imageIndex] forState:UIControlStateNormal];
[button.titleLabel setFont:[UIFont fontWithName:@"Helvetica-Bold" size:12]];
// [button.titleLabel setTextColor:[UIColor blueColor]];
[button setTitleColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"circle03.jpg"]] forState:UIControlStateNormal ];
[button setTitleColor:[UIColor redColor] forState:UIControlStateHighlighted ];
[button setNeedsDisplay];
[gridCell.contentView addSubview:button];
// rect = CGRectMake(((80 * i)-4), (yPos+44), 80, 12);
//
//
//
// UILabel* label = [self descriptionOfImage:imageIndex inRect:rect];
//
// [gridCell.contentView addSubview:label];
//
// [label release];
}
++imageIndex;
}
++yOffset;
}
return gridCell;
}
-(float) calculateHeightOfTextFromWidth:(NSString*) text: (UIFont*)withFont: (float)width :(UILineBreakMode)lineBreakMode
{
[text retain];
[withFont retain];
CGSize suggestedSize = [text sizeWithFont:withFont constrainedToSize:CGSizeMake(width, FLT_MAX) lineBreakMode:lineBreakMode];
[text release];
[withFont release];
return suggestedSize.height;
}
-(IBAction)btnTemp_Clicked:(id)sender{
UIButton *btn = (UIButton *)sender;
NSLog(@"Selected Image : %d Button Title is ==>> %@",btn.tag,btn.titleLabel.text);
}
-(UIImageView *)gridImageRect:(CGRect)rect forImage:(UIImage *)image
{
UIImageView* imageView = [[UIImageView alloc] initWithFrame:rect];
imageView.image = image;
return imageView;
}
-(UILabel *)descriptionOfImage:(int)imageNumber inRect:(CGRect)rect
{
UILabel *label = [[UILabel alloc] initWithFrame:rect];
label.text = [NSString stringWithFormat:@"Image %d", imageNumber + 1];
label.textColor = [UIColor blackColor];
label.backgroundColor = [UIColor clearColor];
label.textAlignment = UITextAlignmentCenter;
label.font = [UIFont fontWithName:@"ArialMT" size:12];
return label;
}
查看此代码输出的屏幕截图...
UIGridView
演示和教程..
关于iphone - UITableView 类似于 gridView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14251416/
如果我使用 NSUserDefaults 存储应用程序的设置,是否有任何方法可以使我的应用程序的设置“隐藏”,以免显示在 iPhone 上的常规设置应用程序中?我知道还有其他工具,例如 mySetti
我按照该网站的教程进行操作: http://theappleblog.com/2008/08/04/tutorial-build-a-simple-rss-reader-for-iphone/ 为了制
我通过 localisableString 和仅适用于 NSLocale 方法的不同 xib 更改 iPhone 的语言来完成本地化,但应用程序的要求是通过更改应用程序设置 View 中的语言来本地化
我试图弄清楚 iPhone 是否可以通过无线或蓝牙连接到另一台非 iPhone 设备,但发现了相互冲突的信息。我发现的大部分内容都是在 SDK 3.0 版本发布之前发现的,当时这肯定是不可能的。查看堆
This question already has answers here: Closed 7 years ago. Possible Duplicate: How to detect iPhone
当我在模拟器上运行我的应用程序时,每次都会生成白色的空白屏幕。但是当我在底部黑色 iPhone 按钮退出应用程序后,重新进入应用程序后 View 将可见。然后应用程序照常运行。 但是当我将它加载到我的
我的意思是两台 iPhone 设备应该通过蓝牙或 WiFi 连接,并且一台设备的 UI 应该扩展到另一台 iPhone 设备(不共享屏幕)。我们有办法在 iOS 中执行此操作吗? 最佳答案 Bump
如何通过宏检测设备型号?我使用过类似的东西,但模拟器上的结果总是 IS_IPHONE_5 #define IS_IPAD (UI_USER_INTERFACE_IDIOM() == UIUserInt
我目前有一个应用程序要求用户维护 VPN 隧道。加载时我检查 VPN 隧道是否可用。 我想知道是否有任何方法可以显示 UIAlertView,单击“确定”后,用户将进入 iPhone 主设置屏幕,以便
我正在开发一个 iPhone 客户端应用程序,它允许用户对各种服务进行评分。无需注册或登录。 要求是用户不能重复对服务进行评分(尽管可以更改其评分)。从目前的情况来看,该应用程序可以被删除、重新安装,
比如说,我点击一个 iphone 应用程序图标,启动时它将创建一个 .app 文件。那么是否可以从该应用程序调用另一个 iphone 应用程序。或者我们可以在该 .app 文件中执行一些操作,例如它将
真的有可能让iPhone静音模式独立于iPhone App吗? 这个应用程序"Talking Carl"让我很困惑。我的 iPhone 处于静音模式。每当我打开这个应用程序时。应用程序声音处于开启模式
这个问题不太可能对任何 future 的访客有帮助;它只与一个较小的地理区域、一个特定的时间点或一个非常狭窄的情况相关,通常不适用于全世界的互联网受众。如需帮助使此问题更广泛适用,visit the
如果我想编写一些自定义 iPhone 应用程序,但不一定通过 App Store 分发它们,是否可以在不加入 iPhone 开发者计划的情况下实现? 假设我只是想为自己编写一些小实用程序并将其放入我的
人们对 Unity 或 Torque Engine 等游戏引擎有何看法和/或体验?如果您是 iPhone 游戏开发新手,是否值得学习其中一种引擎?这些引擎生成的应用程序与使用 sdk 的 native
您能否在未安装 XCode 开发工具的计算机上分发 iPhone 应用程序以在 iPhone 模拟器中进行测试?可以直接在电脑上安装模拟器进行测试吗? 我有一组测试人员,他们不是开发人员,除了能够运行
我想在我的越狱设备上构建并安装我的应用程序,而无需支付 iPhone 开发者计划所需的 99 美元。我有 Rock 和 Cydia...最简单的方法是什么(如果可能的话)? 谢谢。 最佳答案 这是一个
我想测试一个网站,看看它如何与 iPhone 配合使用,但我没有 iPhone 或 iPod touch。有没有一种方法可以让我在不拥有网站的情况下测试网站的运行情况? 我真正想要的是修复 Stack
简单地说;我的 99 美元能给我带来什么我无法免费获得的东西? 好吧,好吧,听起来是个愚蠢的问题,但苹果网站对我来说并不清楚。 我的预感是,您可以在 99 岁时向应用程序商店提交应用程序,但您可以免费
我是一名注册的 iOS 开发人员。如何将我的 iPhone 应用程序转移到我的个人 iPhone? 最佳答案 用于测试?只需选择您的设备而不是模拟器即可。 关于iphone - 如何将我的 iPhon
我是一名优秀的程序员,十分优秀!