iOS:自定义按钮(UIButton的子类) - 无法更改边框属性

时间:2018-03-05 15:27:37

标签: ios swift

我希望自定义按钮由绿色背景,白色文字和无边框组成。我创建了继承自UIButton的类ThemedButton。然后我在awakeFromNib方法中更改按钮属性。

由于某些原因,更改背景和标题颜色可以正常工作,但操纵边框属性(甚至是圆角)则不然。我的按钮有绿色背景,白色文字,还有丑陋的蓝色边框。

我的实施如下。

编辑:抱歉我的混乱属性。我也尝试将边框颜色设置为与背景相同,以此方式摆脱它。

import UIKit

class ThemedButton: UIButton {

    override func awakeFromNib() {
        super.awakeFromNib()

        // Works
        setTitleColor(UIColor.white, for: .normal)
        layer.backgroundColor = GREEN_COLOR.cgColor

        // Does not work
        layer.borderWidth = 0
        layer.borderColor = GREEN_COLOR.cgColor
        layer.cornerRadius = 5

    }

}

1 个答案:

答案 0 :(得分:2)

设置边框的宽度

 layer.borderWidth = 5

这有效

class ThemedButto22n: UIButton {

   override func awakeFromNib() {
      super.awakeFromNib()


  }

 override func layoutSubviews() {
    super.layoutSubviews()
    // Works
    setTitleColor(UIColor.white, for: .normal)
    layer.backgroundColor = UIColor.green.cgColor

    // Does not work
    layer.borderWidth = 5
    layer.borderColor = UIColor.red.cgColor
    layer.cornerRadius = 5


}

}