更改分组的UITableView页脚textLabel颜色

时间:2018-05-03 20:52:52

标签: swift uitableview

如何更改textLabel的内置UITablewViewHeaderFooterView的文字颜色?我试过了

override func tableView(_ tableView: UITableView, viewForFooterInSection section: Int) -> UIView? {
    guard let footer = tableView.dequeueReusableHeaderFooterView(withIdentifier: footerId) else {
        return nil
    }
    footer.textLabel?.textColor = UIColor.blue
    return footer
}

但没有任何反应。我的表视图是.grouped样式,如果重要的话

1 个答案:

答案 0 :(得分:1)

您必须覆盖tableView:willDisplayFooter:forSection。介于tableView:viewForFooterInSection:和后者之间的某个地方,UIKit会重置textColor。在willDisplayFooter中进行设置可确保您最后更改它,从而获胜:)。

更新

如果您为页脚视图注册了自定义UITableViewHeaderFooterView子类,您也可以覆盖该类中的willMove(toWindow:)并在那里执行更改。

另一种方法是设置textLabel的attributedText属性。 UIKit不会弄乱那个颜色。