按钮边框颜色不会更改为自定义颜色

Button border color will not change to custom color

我有一个非常简单的透明按钮子类,我试图将边框更改为与文本相同的颜色,但结果却是白色。

class transparentButton: UIButton {

    required init?(coder aDecoder: NSCoder) {
       super.init(coder: aDecoder)
        setupButton()
    }
    
    // Setup the button
    func setupButton() {
        self.backgroundColor = .clear
        self.layer.borderWidth = 3
        self.layer.borderColor = CGColor(red: 203, green: 72, blue: 75, alpha: 0.75)
    }
    

}

CGColor init 接受从 01 的值,正如 documentation 所说:

与您可能习惯的超出 255 不同,最大值为 1。如果您提供的值超过 1,我假设它只是上限为 1,这意味着:

CGColor(red: 203, green: 72, blue: 75, alpha: 0.75)

变成...

CGColor(red: 1, green: 1, blue: 1, alpha: 0.75)

...白色。

因此,您必须将所有内容除以 255

func setupButton() {
   self.backgroundColor = .clear
   self.layer.borderWidth = 3   
   self.layer.borderColor = CGColor(red: 203 / 255, green: 72 / 255, blue: 75 / 255, alpha: 0.75)
}
Before After