我有一个IBDesignable类,它具有IBInspectable值:Int
值基本上是IBDesignable类中显示的球数
所以我有一个setup()函数,它使用for _ 0来添加正确的imageViews(每个球一个)。<价值{}
但是当更改值时,我不会在Interface Builder中看到新的球数
也许但是可设计:更新留在那里......
每次Value更改时如何执行setup()?
提前致谢
答案 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)
}
}
}
但我不建议你这样做,因为你会注意到这一点 故事板变得非常缓慢