1

我正在尝试更改 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 类。我错过了哪些步骤?

4

3 回答 3

3

Apple 的 UITableViewDelegate 类参考,方法- tableView:viewForHeaderInSection:

此方法仅在同时实现 tableView:heightForHeaderInSection: 时才能正常工作。

你实现了那个方法吗?

编辑:阅读您的评论并知道您正在使用情节提要后,您可以轻松地为整个表格创建自定义背景:

1) 在情节提要上创建一个 TableViewController

2)拖动一个UIView:

界面视图

3) 将 UIView 放到表视图的标题中,这里:

将视图拖放到 tableView 标题中

4) 您现在可以在标题上看到一个视图,您可以调整大小、更改颜色、添加例如 UILabel...:

带标题的表格视图 带标签的标题

于 2012-05-06T08:54:13.133 回答
0

使用 tablview 委托方法自定义 tablviewheader。我在这里展示一些代码使用它......

 -(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;

  }

希望对你有帮助..

于 2012-05-06T02:54:22.693 回答
-1

显示的蓝色标题是导航控制器标题。

于 2013-04-07T22:21:57.603 回答