设置按钮单击时所有UIbutton的标题颜色

问题描述 投票:0回答:1

我设置按钮的标题颜色

button.setTitle("Print 0", for: UIControl.State.normal)

但是我有很多按钮,如何一次性设置半径和边界,但是设置标题却有问题

@objc extension UIButton {
    dynamic var borderColor: UIColor? {
        get {
            if let cgColor = layer.borderColor {
                return UIColor(cgColor: cgColor)
            }
            return nil
        }
        set { layer.borderColor = newValue?.cgColor }
    }

    dynamic var borderWidth: CGFloat {
        get { return layer.borderWidth }
        set { layer.borderWidth = newValue }
    }

    dynamic var cornerRadius: CGFloat {
        get { return layer.cornerRadius }
        set { layer.cornerRadius = newValue }
    }
      dynamic var setTitleColor: UIButton? {
        get {
            if let cgColor = layer.color {
                return UIColor(cgColor: cgColor)
            }
            return nil
        }
        set { layer.setTitleColor = newValue?.cgColor }
    }

}
xcode xcode8 swift5
1个回答
0
投票

代替layer.color,像这样使用titleColor(for:)setTitleColor(, for:)

extension UIButton {
    dynamic var normalTitleColor: UIColor? {
        get {
            return titleColor(for: .normal)
        }
        set {
            setTitleColor(newValue, for: .normal)
        }
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.