Swift中使用IBDesignable/IBInspectable
可以直接在XIB或者Storyboard中直接,设置UI类的属性。
IBDesignable
加入这个可以修改的属性就可以在xib 或者 sb中直接显示出来
IBInspectable
加入这个标志 在设置中就可以直接看到 该属性
二者调节 可以直接在xib中展示使用 很方便 很强势的 IBDesignable/IBInspectable
我们可以定义一个view
@IBDesignable
class View: UIView {
@IBInspectable var cornerRadius: CGFloat = 0.0 {
didSet {
layer.cornerRadius = cornerRadius
layer.masksToBounds = true
}
}
@IBInspectable var borderColor: UIColor = UIColor() {
didSet {
layer.borderColor = borderColor.CGColor
}
}
@IBInspectable var borderWidth: CGFloat = 0.0 {
didSet {
layer.borderWidth = borderWidth
}
}
}
然后在XIB或Storyboard里面,拖一个UIView上去,把class改成自己定义的View
下面我们看
进阶使用
大大减小开发
extension UIView {
@IBInspectable var cornerRadius: CGFloat {
get {
return layer.cornerRadius
}
set {
layer.cornerRadius = newValue
layer.masksToBounds = newValue > 0
}
}
}
变!你创建的任何 UIView 都将有一个可配置的边界半径。
网友评论