为什么自定义 UIRefreshControl Class 的背景颜色在 Swift 中没有改变?

Why Custom UIRefreshControl Class's Background Color not changing in Swift?

我创建了如下自定义 UIRefreshControl:

class CustRefreshCont: UIRefreshControl {

    override func draw(_ rect: CGRect) {
        // Drawing code
        let blueColor: UIColor = UIColor.blue
        let lightGrayColor: UIColor = UIColor.lightGray

        self.tintColor = blueColor
        self.backgroundColor = lightGrayColor

        self.attributedTitle = NSAttributedString(string: "Updating data", attributes: [NSAttributedStringKey.foregroundColor : self.tintColor, NSAttributedStringKey.backgroundColor : self.backgroundColor!])
    }
}

我从 UIViewController 分配 UIRefreshControl 的方式复制如下:

    let refreshControl = CustRefreshCont()

正在显示文本和 ActivityIndi​​cator 自定义项,但背景颜色显示为黑色。

知道我的代码有什么问题吗?

将您的配置代码移至初始化程序。我不认为 draw 方法是正确的地方。

override init() {
    super.init()
    backgroundColor = .red
    tintColor = .blue
}