@koders
инженер

Как получить доступ к свойствам layer у подклассов UIControl в iOS 13/XCode 11 с использованием UIKIt?

Столкнулся со следующей ситуацией: Есть простая кнопка (UIButton), у которой надо задать границы (borderWidth/borderColor). Раньше это можно было сделать через создание собственного класса с наследованием от UIButton.
Например:
class BorderButton: UIButton {

    override class func awakeFromNib() {
        super.awakeFromNib()
        layer.borderWidth = 3.0
        layer.borderColor = UIColor.white.cgColor
    }

}


Теперь данный код выдает ошибку:
Instance member 'layer' cannot be used on type 'BorderButton'


Пробовал получить и изменить данные свойства через proxy appearence().layer - но результата это не дало.
В release notes/google не нашел ничего по этому поводу (хотя может хреново искал).
Собственно вопрос - подскажите в какую сторону "копать"? Это dark/light mode мешает? Или писать свой конструктор и свой buttonType?
  • Вопрос задан
  • 167 просмотров
Решения вопроса 1
briahas
@briahas
ObjC, Swift, Python
правильно писать:
override func awakeFromNib() {
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы