【发布时间】:2019-04-15 21:04:32
【问题描述】:
我的表格视图有一个自定义的 Header 类,每当使用它时,我都会不断收到此错误:
[TableView] 在 UITableViewHeaderFooterView 上设置背景颜色已被弃用。请改为将具有所需背景颜色的自定义 UIView 设置为 backgroundView 属性。
以下是我尝试过的一些事情:
我在 UITableViewHeaderFooterView 子类的 awakeFromNib() 中添加了一个 backgroundView:
override func awakeFromNib() {
super.awakeFromNib()
self.backgroundView = UIView(frame: self.bounds)
self.backgroundView?.backgroundColor = UIColor(red:0.84, green:0.47, blue:0.97, alpha:1.0)
}
我在定义标题部分的 tableView 函数中添加了一个 backgroundView:
func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
if let headerView = tableView.dequeueReusableHeaderFooterView(withIdentifier: Header.identifier) as? Header {
// Extraneous Code
let backgroundView = UIView(frame: headerView.bounds)
backgroundView.backgroundColor = UIColor(white: 0.5, alpha: 0.5)
headerView.backgroundView = backgroundView
// Extraneous code
}
return UIView()
}
在做完这些之后,我仍然得到错误。
【问题讨论】:
-
你正试图返回一个新的干净的 UIView()。您的观点,您在上面设置的,与此无关。改为在 viewForHeader 中返回您的 headerView。
标签: ios swift uitableview uiview