我正在尝试更改UITableView
部分的页脚的背景颜色。但是,我没有运气。
UITableViewCell *cell = [_tableView cellForRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:i]];
cell.backgroundColor = [UIColor redColor];
cell.textLabel.textColor = [UIColor redColor];
cell.detailTextLabel.textColor = [UIColor redColor];
UITableViewHeaderFooterView *header = [_tableView footerViewForSection:i];
[header setBackgroundColor:[UIColor redColor]];
第一部分 - 我在单元格中设置颜色 - 正在工作。第二部分 - 我想设置页脚颜色 - 不是。我做错了什么?
答案 0 :(得分:1)
您需要在cellForRowAtIndexPath
方法内和footerViewForSection
方法内设置颜色。
表视图将根据需要请求单元格,页眉和页脚。对于细胞,很可能会重复使用相同的细胞,这就是细胞颜色似乎有效的原因。但是,如果你进行一些滚动,你会发现它可能会停止工作。
您的标题视图不起作用,因为您要求在代码中查看视图,但这不会与该表使用的视图相同,因为它将要求它自己的视图。
因此,您应该在请求单元格,页眉或页脚时设置颜色。
理想情况下,应该从数据模型中驱动单元格/页眉/页脚配置。例如在cellForRowAtIndexPath
内,您应该创建适合索引路径的数据模型条目的单元格。根据数据模型条目所需的颜色设置其颜色。然后,所有更改都在数据模型上完成,然后重新加载受影响的部分和/或行。
答案 1 :(得分:0)
-footerViewForSection:
是否返回值?我的猜测是它正在返回nil
。您是否在委托方法中为表视图提供页脚视图?如果你不是,它就不存在。如果是,您可以设置颜色。