ios - 空行和节标题的 Swift TableView 背景

标签 ios swift uitableview swift2

我有一个带有标题的 TableView Controller ,我想为其提供特定的背景颜色。我还希望文本“John Doe”与菜单图标完美对齐,如您在以下屏幕截图中所见:

Screenshot

为了确保“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 的底部。

我也试过设置表格标题的背景颜色,但这不起作用,因为状态栏没有正确的背景颜色(因为插图)。

如何确保“注销”按钮下方的所有内容与实际行的背景颜色相同?

编辑:设置表格的背景颜色会导致: Screenshot

现在状态栏也有了这种颜色,因为插入了。

最佳答案

使用 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/

相关文章:

ios - UITableView 在 ios 中使用自定义表格单元格滚动不流畅

objective-c - 删除分组的 UITableView 中的顶部阴影?

ios - 在 Swift 中从 Parse 检索对象数据

html - Cordova/iOS - 链接样式不起作用 - 我必须如何更改我的代码

ios - 如何在 swift 中从下载委托(delegate)更新 gui(进度 View )

swift - UITableViewAutomaticDimension 改变多次

objective-c - 即使抓取器正在显示,也无法在 UITableView 中移动行

java - JFrame 可以在 Android/iOS 上运行吗?

ios - 在 iOS 循环中使用 alloc 内存泄漏

ios - HackerRink 解决方案重构代码 (Swift)