Функция настройки запуска IBInspectable каждый раз при изменении значения IBInspectable

У меня есть класс IBDesignable, который имеет значение IBInspectable: Int

value - это в основном количество мячей, показанных в классе IBDesignable.

поэтому у меня есть функция setup(), которая добавляет правильные изображения (по одному для каждого мяча), используя значение for _ 0 ..‹ { }

Но при изменении значения я не вижу нового количества шаров в Interface Builder

Возможно, но Designables: обновление остается...

Как заставить setup() выполняться каждый раз при изменении значения?

заранее спасибо


person TheBearF8    schedule 18.04.2018    source источник
comment
вы видите свои обновления в симуляторе?   -  person Kazi Abdullah Al Mamun    schedule 18.04.2018
comment
Запуск на устройстве или симуляторе выглядит нормально, просто не в построителе интерфейсов при построении представления.   -  person TheBearF8    schedule 18.04.2018


Ответы (1)


Попробуйте этот код

@IBDesignable
class SNButton:UIButton{

    @IBInspectable var val: Int = 0

    override func layoutSubviews() {
        super.layoutSubviews()


        for i in 0...val {
         let ui = UIImageView(frame: CGRect(x: i, y: 0, width: 20, height: 20))
            ui.backgroundColor = UIColor.red
            self.addSubview(ui)
        }
      }        

    }

Но я не советую вам этого делать, потому что вы заметите, что раскадровка стала очень медленной.

person a.masri    schedule 18.04.2018