我想根据我获得的互联网信息设置不同的 IBInspectable 项目。例如,我有绿色、红色和橙色圆圈的 IBInspectables。如果请求显示为绿色,我想将 isGreen 可检查设置为是,将其他设置为否。其他两个也一样。您可以在此处查看 IBInspectables 。我知道我可以用我放在那里的代码来做到这一点,但是有没有办法以编程方式切换它们?
问问题
2225 次
2 回答
4
任何 IBInspectable,只是一个在 IB 中编码的属性。所以如果你有这个:
@IBInspectable var isGreen:Bool? {
didSet {
// code to color circle?
}
}
你可以这样做:
self.isGreen = true
于 2016-12-03T13:34:47.290 回答
0
你听起来很困惑。该术语描述了带有标签IBInspectable
的视图对象的属性。@IBInspectable
这告诉 Interface Builder 您希望能够从 Interface Builder 内部更改该属性。
除了可以从 Interface Builder 编辑之外,IBInspectable 属性与任何其他属性没有什么不同。
如果您有一个具有属性直径的类 CircleView:
class FooView: UIView {
@IBInspectable var diameter: CGFloat {
didSet {
//Code to do something with a change to the diameter property
}
}
并且您的视图控制器中有一个带有插座的 FooView 对象,然后您可以像任何其他属性一样在代码中更改自定义属性的值:
class MyViewController: UIViewController {
@IBOulet weak var fooView: FooView!
@IBAction func buttonTapped(sender: UIButton) {
fooView.diameter += 5
}
}
于 2016-12-03T14:23:50.433 回答