我正在尝试为iphone创建一个联系人,其中联系人的姓名显示在顶部(为此我将在viewForHeaderInSection中编写代码),然后详细信息将在分组部分中显示。问题是我正在从数据库中检索值,如果第一个名称为null,它将显示在表中。我想删除空值并显示其中包含值的字段。名称保存在数组中。我试图从数据库中获取以下字段以显示在表格上。
NSMutableArray *nameSectionDetails=[[NSMutableArray alloc]initWithObjects:[eachContact objectAtIndex:0], [eachContact objectAtIndex:1], [eachContact objectAtIndex:2],[eachContact objectAtIndex:3],[eachContact objectAtIndex:4],[eachContact objectAtIndex:19],nil];
NSMutableDictionary * nameSection = [[NSMutableDictionary alloc] initWithObjectsAndKeys:nameSectionDetails,@“name”,nil]; self.labelSection = nameSection;
eachContact包含特定联系人的所有详细信息。
这是我试图展示的地方
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {
if(section == 0) {
// create the parent view that will hold 1 or more buttons
UIView* buttonView = [[[UIView alloc] initWithFrame:CGRectMake(10.0, 0.0, 300.0, 100.0)]autorelease];
UILabel *updateDeletedLabel = [[[UILabel alloc] initWithFrame:CGRectMake(10.0, 0.0, 300.0, 60.0)] autorelease];
/*updateDeletedLabel.text = [NSString stringWithFormat:@"%@\n%@ %@\n%@\n%@",[eachContact objectAtIndex:1],[eachContact objectAtIndex:3],[eachContact objectAtIndex:2],[eachContact objectAtIndex:3],[eachContact objectAtIndex:4],[eachContact objectAtIndex:19]];*/
/*for(int i=1;i<[[labelSection objectForKey:@"name"]count];i++)
{
if([[[labelSection objectForKey:@"name"]objectAtIndex:i] isEqualToString:@"(null)"])
[[labelSection objectForKey:@"name"]removeObjectAtIndex:i];
//i+=i*i;
}*/
updateDeletedLabel.text=[NSString stringWithFormat:@"%@ %@ %@\n%@\n%@\n%@",[[labelSection objectForKey:@"name"]objectAtIndex:1],[[labelSection objectForKey:@"name"]objectAtIndex:3],[[labelSection objectForKey:@"name"]objectAtIndex:5],[[labelSection objectForKey:@"name"]objectAtIndex:7],[[labelSection objectForKey:@"name"]objectAtIndex:9],[[labelSection objectForKey:@"name"]objectAtIndex:11]];
updateDeletedLabel.font = [UIFont systemFontOfSize:12];
updateDeletedLabel.numberOfLines = 0;
updateDeletedLabel.lineBreakMode = UILineBreakModeWordWrap;
updateDeletedLabel.backgroundColor = [UIColor colorWithRed:0.0 green:0.0 blue:0.0 alpha:0.0];
[updateDeletedLabel setTextAlignment: UITextAlignmentCenter];
// add the button to the parent view
[buttonView addSubview:updateDeletedLabel];
return buttonView;
}
return nil;
}
任何人都可以在这方面帮助我。我是一个新手学习iphone应用程序,如果你可以建议任何其他方法,我很高兴知道。感谢!!!
答案 0 :(得分:1)
您应该了解自定义UITableCells
在评论中澄清之后进行修改
仍然你应该去提到的文档,因为你正在使用tableview错误。
在第0部分的标题视图中,您只会返回一个显示照片和名称的视图。 (可能使用从nib文件加载的自定义视图)
您要在–tableView:cellForRowAtIndexPath:
修改强>
我很好奇,做这样的应用真的需要做什么。 Here are the results
这还没有准备好生产 - 如果不提供姓名,姓名或图片,则DetailView将崩溃
By using this code, you agree in doing your homework and study the mentioned documentation!