0

我有一个具有 IBInspectable 值的 IBDesignable 类:Int

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

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

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

也许但Designables:更新停留在那里......

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

提前致谢

4

1 回答 1

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

    }

但我不建议您这样做,因为您会注意到情节提要变得非常缓慢

于 2018-04-18T19:17:23.053 回答