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

pxq42qpu  于 2023-09-30  发布在  Swift
关注(0)|答案(3)|浏览(219)

我使用xib自定义headerView并将默认背景颜色设置为这个headerView,我总是得到这个警告。怎么修?谢谢.

这些财产不适合我。

6pp0gazn

6pp0gazn1#

不太确定,你说我已经试过了是什么意思,很明显,从你发布的代码片段来看,你还没有,你可以做这个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
pes8fvy9

pes8fvy92#

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

xiozqbni

xiozqbni3#

您必须设置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
    }
}

相关问题