【问题标题】:Button border color will not change to custom color按钮边框颜色不会更改为自定义颜色
【发布时间】:2021-03-04 23:56:36
【问题描述】:

我有一个非常简单的透明按钮子类,我正在尝试将边框更改为与文本相同的颜色,但是它变成了白色。

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)
    }
    

}

【问题讨论】:

    标签: ios swift swift5


    【解决方案1】:

    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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-03
      • 1970-01-01
      • 2018-06-23
      • 1970-01-01
      • 1970-01-01
      • 2012-03-29
      相关资源
      最近更新 更多