我有一个IBDesignable类,它有一个IBInspectable值:Int
值基本上是IBDesignable类中显示的球数
所以我有一个 setup(( func,它使用 _ 0 添加正确的图像视图(每个球一个(。
但是当更改值时,我在界面生成器中看不到新的球数
也许但可设计:更新留在那里...
你如何使每次值更改时执行 setup(( ?
提前致谢
试试这段代码
@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)
}
}
}
但我不建议你这样做,因为你会注意到 故事板变得非常慢