每次IBInspectable值更改时,IBInspectable运行设置功能

时间:2018-04-18 14:31:33

标签: ios swift ibdesignable ibinspectable

我有一个IBDesignable类,它具有IBInspectable值:Int

值基本上是IBDesignable类中显示的球数

所以我有一个setup()函数,它使用for _ 0来添加正确的imageViews(每个球一个)。<价值{}

但是当更改值时,我不会在Interface Builder中看到新的球数

也许但是可设计:更新留在那里......

每次Value更改时如何执行setup()?

提前致谢

1 个答案:

答案 0 :(得分:0)

试试此代码

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

    }
  

但我不建议你这样做,因为你会注意到这一点   故事板变得非常缓慢