我需要帮助。我在一个UITableViews
中有三个UIView
。但是,我只希望一个UITableView
有一个标题。我怎么能在代码中说出来?我已经有了以下代码。谢谢你们。
- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section {
if (tableView == Table1) {
return @"My Header Text";
} else if (tableView == Table2) {
return nil;
} else if (tableView == Table3) {
return nil;
}
}
答案 0 :(得分:2)
您提供的代码将仅为某个部分添加标题视图。因此,如果您有两个或更多部分,则需要编写额外的逻辑来设置每个部分的标题视图。
这里设置单个表的tableHeaderView
是一种简单的方法。
UILabel *label = [[UILabel alloc]initWithFrame:CGRectZero];
label.text = @"my table header";
table1.tableHeaderView = label;
答案 1 :(得分:1)
如果这不起作用,你也可以尝试为标题的高度返回零:
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section {
if (tableView == Table1)
{
return 50.0; // or what's the height?
}
else
{
return 0.0;
}
}
答案 2 :(得分:0)
试试这个
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {
NSString *sectionTitle = [self tableView:tableView titleForHeaderInSection:section];
if (sectionTitle == nil) {
return nil;
}
UILabel *label = [[[UILabel alloc] init] autorelease];
label.frame = CGRectMake(20, 6, 300, 30);
label.textColor = [UIColor blackColor];
label.font = [UIFont boldSystemFontOfSize:16];
label.text = sectionTitle;
UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, SectionHeaderHeight)];
[view addSubview:label];
return view;
}