我正在尝试应用于IBInspectable
所有类型的视图,例如UIView
, UIButton
, UITextField
,UIImageView
等。
这就是我所做的:
@IBDesignable
class BaseView: UIView
{
override func layoutSubviews() {
super.layoutSubviews()
updateCornerRadius()
}
@IBInspectable var rounded: Bool = false {
didSet {
updateCornerRadius()
}
}
@IBInspectable var cornerRadius: CGFloat = 4 {
didSet {
updateCornerRadius()
}
}
private func updateCornerRadius() {
layer.cornerRadius = rounded ? cornerRadius : 0
}
}
UIView
在情节提要中使用所有子类都可以正常工作BaseView
,但是如何将其用于按钮、文本字段、图像视图等?
可能正在使用协议或扩展来避免将此代码重复到所有其他类型的视图...