IBDesignable не может установить фон для кнопок

Я пытаюсь создать пользовательскую кнопку в своем проекте IOS. Но когда я создаю кнопку с моим классом, фон не работает в раскадровке. Но когда я запускаю программу, кнопка работает нормально.

Здесь вы видите мой класс

@IBDesignable class GreenButtonTest : UIButton{

    override init(frame: CGRect) {
        super.init(frame: frame)
        style()
    }

    required init(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)!
        style()
    }

    private func style() {
        self.backgroundColor = UIColor(CGColor: "#6eb18c".CGColor)
    } 

}

1 ответ

Вам также нужно переопределить prepareForInterfaceBuilder() и вызывать style() оттуда.

Попробуй это:

@IBDesignable class GreenButtonTest : UIButton{

    override init(frame: CGRect) {
        super.init(frame: frame)
        style()
    }

    required init(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)!
        style()
    }

    override func prepareForInterfaceBuilder() {
        style()
    }

    private func style() {
        self.backgroundColor = UIColor.greenColor()
    }

}
Другие вопросы по тегам