IBInspectable 属性提供了访问旧功能的新方式:用户自定义的运行时属性。从目前的身份检查器(identity inspector)中访问,这些属性在 Interface Builder 被整合到 Xcode 之前就可用了。他们提供了一个强有力的机制来配置一个 NIB,XIB,或者 storyboard 实例中的任何键值编码(key-value coded)属性:
虽然功能强大,运行时属性可能会使工作很繁琐。一个属性的关键字路径,类型和属性值需要在每个实例设置,没有任何自动完成或输入提示,这就需要前往文档或自定义子类的源代码仔细检查设置。 IBInspectable 属性彻底的解决了这个问题:在 Xcode 6,你现在可以指定任何属性作为可检查项并为你的自定义类建立了一个用户界面。
例如,在一个 UIView 子类里,这些属性用它们的值来更新背景层:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
@IBInspectable
var
cornerRadius:CGFloat=0{
didSet{
layer.cornerRadius=cornerRadius
layer.masksToBounds=cornerRadius>0
}
}
borderWidth:CGFloat=0{
didSet{
layer.borderWidth=borderWidth
}
}
borderColor:UIColor?{
didSet{
layer.borderColor=borderColor?.CGColor
}
}
|
extensionUIView{
cornerRadius:CGFloat{
get{
return
layer.cornerRadius
}
set{
layer.cornerRadius=newValue
layer.masksToBounds=newValue>0
}
变!你创建的任何 UIView 都将有一个可配置的边界半径。
|