如何在UITableView中改变section头的颜色?
编辑:DJ-S提供的答案应该适用于iOS 6及以上版本。公认的答案已经过时了。
如何在UITableView中改变section头的颜色?
编辑:DJ-S提供的答案应该适用于iOS 6及以上版本。公认的答案已经过时了。
当前回答
iOS 13> swift 5
func tableView(_ tableView: UITableView, willDisplayHeaderView view: UIView, forSection section: Int){视图。tintColor = UIColor。红}
其他回答
在UITableViewHeaderFooterView上设置背景色已弃用。请使用contentView。写成backgroundColor代替。
不要忘记从委托中添加这段代码,否则您的视图将被切断或在某些情况下出现在表后面,相对于您的视图/标签的高度。
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
{
return 30;
}
使用UIAppearance,你可以为你的应用程序中的所有头部更改它,如下所示:
UITableViewHeaderFooterView.appearance()。backgroundColor = theme.subViewBackgroundColor
iOS 8 +
func tableView(tableView: UITableView, willDisplayHeaderView view: UIView, forSection section: Int) {
tableView.tableHeaderView?.backgroundColor = UIColor.blue()
}
我通过控制台日志从Xcode得到消息
[TableView]设置背景色 UITableViewHeaderFooterView已弃用。请设置自定义 带有你想要的背景颜色的UIView到backgroundView 财产。
然后我只需要创建一个新的UIView并将其作为HeaderView的背景。 这不是一个很好的解决方案,但正如Xcode所说的那样简单。