Ale*_*dra 7 cocoa-touch objective-c uitableview ios
直接设置tableHeaderView/tableFooterView属性有什么区别:
UIView *headerView = [[UIView alloc] init...];
tableView.tableHeaderView = headerView;
[headerView release];
Run Code Online (Sandbox Code Playgroud)
并实现viewForHeaderInSection/viewForFooterInSection方法?:
- (UIView *)tableView:(UITableView *)tableView
viewForHeaderInSection:(NSInteger)section
{
UIView *headerView = [[[HeaderView alloc] init...] autorelease];
return headerView;
}
Run Code Online (Sandbox Code Playgroud)
Vik*_*ica 37
第一个是表的标题,第二个将为您提供向表中的每个部分添加标题的机会.
绿色表示tableViewHeader,蓝色表示sectionHeader.

-(void) viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
if (headerView == nil) {
[[NSBundle mainBundle] loadNibNamed:@"DetailContactHeader" owner:self options:nil];
headerView.nameLabel.text = [NSString stringWithFormat:@"%@ %@",
[contact objectForKey:@"name"],
[contact objectForKey:@"familyname"]];
if ([[contact allKeys] containsObject:@"pictureurl"]) {
headerView.avatarView.image = [UIImage imageNamed:[contact objectForKey:@"pictureurl"]];
}
}
[self.tableView setTableHeaderView: headerView];
}
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
return 2;
}
- (NSInteger)tableView:(UITableView *)tableView
numberOfRowsInSection:(NSInteger)section {
// Return the number of rows in the section.
return [[contact allKeys] count]-3;
}
// Customize the appearance of table view cells.
- (UITableViewCell *)tableView:(UITableView *)tableView
cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue2
reuseIdentifier:CellIdentifier] autorelease];
}
id key = [self.possibleFields objectAtIndex:indexPath.row];
cell.textLabel.text = [NSString stringWithFormat:@"%@", key];
cell.detailTextLabel.text = [NSString stringWithFormat:@"%@", [contact objectForKey:key]];
return cell;
}
-(CGFloat) tableView:(UITableView *)tableView
heightForHeaderInSection:(NSInteger)section
{
return 44.0;
}
-(UIView *) tableView:(UITableView *)tableView
viewForHeaderInSection:(NSInteger)section
{
UILabel *l = [[[UILabel alloc] initWithFrame:CGRectMake(0, 0, 320, 44)] autorelease];
l.backgroundColor = [UIColor clearColor];
l.text= @"I am a Section Header";
return l;
}
Run Code Online (Sandbox Code Playgroud)
你会在这里找到这个应用程序的代码:MyContacts
| 归档时间: |
|
| 查看次数: |
16601 次 |
| 最近记录: |