我正在尝试更改UITableViewController中标题的背景颜色,它实际上有自己的* .h / m文件。我的.m文件,我按照几个stackoverflow答案的建议粘贴了以下代码:
- (UIView *) tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
UIView *headerView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, tableView.bounds.size.width, 30)];
if (section == 0)
[headerView setBackgroundColor:[UIColor redColor]];
else
[headerView setBackgroundColor:[UIColor clearColor]];
return headerView;
}
但结果如下:
我希望蓝色标题为红色。我不明白为什么标题和第一个单元格之间有一个红条。
其他详细信息 如果这个评论很有用:我是xcode 4.2的新手。我做的是去故事板,拖动导航控制器,拖动表格视图。转到左侧资源管理器bard并添加一个名为MyUITableViewController的新文件,该文件扩展了UITableviewController。将我的函数粘贴到MyUITabelViewController.m文件中。然后我实现了heightforheaderinsection函数来返回一个CGfloat值(之后做的所有事情都增加了蓝色标题和第一个单元格之间的空间)。回到故事板,左键单击我的tableviewcontroller并确保它指向我的MyUITableViewController类。我错过了哪些步骤?
答案 0 :(得分:3)
Apple的UITableViewDelegate类引用,方法- tableView:viewForHeaderInSection:
:
只有在实现tableView:heightForHeaderInSection:时,此方法才能正常工作。
您是否实施了该方法?
编辑:阅读完您的评论后,您知道自己正在使用故事板,您可以轻松地为整个表创建自定义背景:
1)在故事板上创建一个TableViewController
2)拖动UIView:
3)将UIView放入表格视图的标题中,此处:
4)你现在有一个关于标题的视图,你可以调整大小,改变颜色,添加,例如,UILabel ......:
答案 1 :(得分:0)
使用表视图委托方法自定义表头。我在这里展示一些代码使用它......
-(UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
UIView *headerView = [[UIView alloc] init];
UIImageView *tempimage = [[UIImageView alloc]initWithFrame:CGRectMake(10, 5, 300,34)];// you can also use image view to show your required color.
tempimage.image = [UIImage imageNamed:@"yourimage.png"];
[headerView addSubview:tempimage];
[headerView addSubview:headername];
return headerView;
}
希望,这会对你有帮助..
答案 2 :(得分:-1)
显示的蓝色标题是导航控制器标题。