我试图覆盖第二个tableHeaderView。但似乎它在方法heightForHeaderInSection中的高度似乎是0.无法解释它,我是否必须将它放在iVar中,因为在viewForHeaderInSection中我可以设置视图而没有任何问题。
- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section {
if(section == 0)
return @"Adding a new list";
else
return @"Other lists";
}
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {
if(section == 0) {
return tableView.tableHeaderView;
} else {
UIView *view = [[[UIView alloc] initWithFrame:CGRectMake(10, 10, 100, 50)] autorelease];
view.backgroundColor = [UIColor redColor];
return view;
}
}
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section {
if(section == 0)
return tableView.tableHeaderView.frame.size.height;
else
return 30;
}
答案 0 :(得分:4)
我认为你对每个部分的表头和标题感到困惑,它们是不同的。没有“second tableHeaderView”,UITableView
有一个tableHeaderView
,然后依赖于viewForHeaderInSection
和heightForHeaderInSection
方法为每个部分放置自定义标题视图,否则你只是使用titleForHeaderInSection
在其中放置文字。