我有一个带有标题的 TableView Controller ,我想为其提供特定的背景颜色。我还希望文本“John Doe”与菜单图标完美对齐,如您在以下屏幕截图中所见:
为了确保“John Doe”与菜单图标完美对齐,并设置正确的背景颜色,我使用了以下代码:
override func viewWillAppear(animated: Bool) {
super.viewWillAppear(animated)
let inset = UIEdgeInsetsMake(20, 0, 0, 0);
tableView.contentInset = inset
tableView.backgroundColor = UIColor(red: 0.63, green: 0.64, blue: 0.66, alpha: 1.0)
}
状态栏(“Carrier/8:57 AM”)高度为 20,因此需要插入以确保 John Doe 正确对齐。
效果很好,但现在空行也采用这种背景色。我尝试在“注销”按钮下添加一个空 View ,并为其赋予与行相同的颜色,但我似乎无法将其一直延伸到 TableView Controller 的底部。
我也试过设置表格标题的背景颜色,但这不起作用,因为状态栏没有正确的背景颜色(因为插图)。
如何确保“注销”按钮下方的所有内容与实际行的背景颜色相同?
编辑:设置表格的背景颜色会导致:
现在状态栏也有了这种颜色,因为插入了。
最佳答案
使用 tableView.backgroundColor
,您可以为整个 tableview 设置背景颜色,这适用于页眉,因为它具有 UIColor.clearColor()
(透明)作为默认颜色。
如果您希望所有表格都为浅灰色,而只有标题为深灰色,您需要将表格背景设置为与单元格相同,然后实现 willDisplayHeaderView
仅用于设置标题颜色:
func tableView(tableView: UITableView,
willDisplayHeaderView view: UIView,
forSection section: Int){
let header = view as! UITableViewHeaderFooterView
header.contentView.backgroundColor = UIColor(red: 0.63, green: 0.64, blue: 0.66, alpha: 1.0)
}
关于ios - 空行和节标题的 Swift TableView 背景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33096192/