如何更改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
样式,如果重要的话
答案 0 :(得分:1)
您必须覆盖tableView:willDisplayFooter:forSection
。介于tableView:viewForFooterInSection:
和后者之间的某个地方,UIKit会重置textColor。在willDisplayFooter
中进行设置可确保您最后更改它,从而获胜:)。
如果您为页脚视图注册了自定义UITableViewHeaderFooterView
子类,您也可以覆盖该类中的willMove(toWindow:)
并在那里执行更改。
另一种方法是设置textLabel的attributedText
属性。 UIKit不会弄乱那个颜色。