自定义XIB内视图属性
2018-09-27 本文已影响7人
啊俊吖
我们经常会在用一些自定义 UIView 来完成一些特殊的UI效果,但是怎么让我自定义的 UIView 在 Storyboard 中预览和修改一些自定义参数呢。这就需要用到两个吊吊的东西。
IB_DESIGNABLE 让你的自定 UIView 可以在 IB 中预览。
IBInspectable 让你的自定义 UIView 的属性出现在 IB 中 Attributes inspector 。
import UIKit
@IBDesignable
extension UIView{
/// 圆角
@IBInspectable var cornerRadius: CGFloat {
set{
layer.cornerRadius = newValue
}
get{
return layer.cornerRadius
}
}
/// 边框颜色
@IBInspectable var borderColor: UIColor {
set{
layer.borderColor = newValue.cgColor
}
get{
return layer.borderColor == nil ? UIColor(cgColor: layer.borderColor!) : UIColor.white
}
}
/// 边框宽度
@IBInspectable var borderWidth: CGFloat {
set{
layer.borderWidth = newValue
}
get{
return layer.borderWidth
}
}
/// 裁剪
@IBInspectable var masksToBounds: Bool {
set{
layer.masksToBounds = newValue
}
get{
return layer.masksToBounds
}
}
}