Установить цвет заголовка всех кнопок UI при нажатии кнопки - PullRequest
0 голосов
/ 31 марта 2020

Я установил цвет заголовка кнопки

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

}

1 Ответ

0 голосов
/ 31 марта 2020

Вместо layer.color используйте titleColor(for:) и setTitleColor(, for:) следующим образом:

extension UIButton {
    dynamic var normalTitleColor: UIColor? {
        get {
            return titleColor(for: .normal)
        }
        set {
            setTitleColor(newValue, for: .normal)
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...