我希望根据获取的互联网信息设置不同的IBInspectable项目。例如,我有绿色、红色和橙色圆形的IBInspectables。如果请求说是绿色,我想将isGreen inspectable设置为Yes,其他设置为No。其他两个也是如此。
您可以在这里看到IBInspectables。我知道我可以使用我放在那里的代码来做到这一点,但是否有一种以编程方式切换它们的方法?
@IBInspectable var isGreen:Bool? {
didSet {
// code to color circle?
}
}
self.isGreen = true
你听起来有点困惑。术语IBInspectable
描述了一个视图对象的属性,该属性上有@IBInspectable
标签。这告诉Interface Builder你希望能够从Interface Builder内部更改该属性。
除了可以在Interface Builder中进行编辑,IBInspectable
属性与其他任何属性没有区别。
如果你有一个名为CircleView的类,其中有一个名为diameter的属性:
class FooView: UIView {
@IBInspectable var diameter: CGFloat {
didSet {
//Code to do something with a change to the diameter property
}
}
class MyViewController: UIViewController {
@IBOulet weak var fooView: FooView!
@IBAction func buttonTapped(sender: UIButton) {
fooView.diameter += 5
}
}