Пользовательский класс UIButton не показывает заголовок - PullRequest
0 голосов
/ 18 марта 2020

Я создал пользовательский класс UIButton. Но название не появляется. Я получаю только цвет фона и закругленные углы. Но название не видно.

Также, когда я запускаю его в симуляторе, iOS 13+, он показывает заголовок белым. Но когда я запускаю устройство, т.е. iOS 12.4, оно не работает.

Вот мой код:

public class CornerButton : UIButton {

    public override init(frame: CGRect) {
        super.init(frame: frame)
        setup()
        self.layoutIfNeeded()

    }

    public required init?(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)
        setup()
        self.layoutIfNeeded()

    }

    func setup() {
        self.titleLabel?.font = UIFont(name: "Poppins-SemiBold", size: 12)
        self.backgroundColor = UIColor(named: "BarColor")
        self.setTitleColor(.white, for: .normal) // this line is not working
        self.clipsToBounds = true

    }

    public override func layoutSubviews() {
        self.roundCorners(corners: [.topRight,.bottomLeft], radius: 10)
    }

}

1 Ответ

1 голос
/ 18 марта 2020

Вам нужно позвонить super.layoutSubviews()

public override func layoutSubviews() {
    super.layoutSubviews()
    self.roundCorners(corners: [.topRight,.bottomLeft], radius: 10)
}

Кстати, здесь вам не нужно layoutSubviews, поскольку вы используете его, когда вам нужно сделать что-то, что зависит от фактических измеренных границ вида и когда вы устанавливаете радиус c, вы можете его пропустить

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...