我应用了一个全局主题,它可以更改UITableViewHeaderFooterView的背景色。以下是代码:
[[UIView appearanceWhenContainedInInstancesOfClasses:@[[UITableViewHeaderFooterView class]]] setBackgroundColor:[UIColor lightGray]];在一个屏幕上有一个实例,我希望覆盖这个颜色并将颜色更改为白色。我尝试了以下代码:
override func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
let headerView = tableView.dequeueReusableHeaderFooterView(withIdentifier: "HeaderView") as? HeaderView
headerView.contentView.backgroundColor = UIColor.white
headerView.backgroundColor = UIColor.white
return headerView
}然而,headerView仍然以浅灰色背景出现。有什么办法可以推翻它吗?
发布于 2017-02-16 20:43:02
您可以创建一个UITableViewHeaderFooterView的子类,比如WhiteUITableViewHeaderFooterView,并将其配置为正确的标头。
然后,您可以在该类[[UIView appearanceWhenContainedInInstancesOfClasses:@[[WhiteUITableViewHeaderFooterView class]]] setBackgroundColor:[UIColor white]];中设置视图的外观。
https://stackoverflow.com/questions/42283916
复制相似问题