不支持更改 UITableViewHeaderFooterView 的背景颜色。请改用背景视图配置

问题描述 投票:0回答:3

我使用 xib 自定义 headerView 并为此 headerView 设置默认背景颜色,但我总是收到此警告。如何修复它?谢谢。

这些属性不适合我。

ios swift uitableview xib
3个回答
1
投票

不太确定,我已经尝试过是什么意思,从您发布的代码片段中可以清楚地看出您还没有尝试过,您可以执行此 tableView 委托,也可以在 headerView 本身的

awakeFromNib
中执行

guard let header =
        detailTableView.dequeueReusableHeaderFooterView(withIdentifier: "DetailListHeaderView") as? DetailListHeaderView else { fatalError("could not create headerView") }
        let backgroundView = UIView(frame: header.bounds)
        backgroundView.backgroundColor = UIColor(white: 0.5, alpha: 0.5)
        header.backgroundView = backgroundView
        //other codes of yours
        return header

1
投票

我发现将 IB 中的背景颜色属性设置为默认值可以解决警告问题。但是,我的顶级项目是视图,而您的顶级项目是单元格,它们可能具有不同的默认颜色,这会导致警告。


0
投票

您必须设置

contentView
的颜色,例如

class HeaderView: UITableViewHeaderFooterView {
    @IBOutlet weak var txtLabel: UILabel!

    override func awakeFromNib() {
        super.awakeFromNib()
        self.txtLabel.textColor = .white
        self.contentView.backgroundColor = .red
    }

    func bind(text: String) {
        self.txtLabel.text = text
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.