我创建了一个自定义IBDesignable
UISegmentedControl
类。
该类没有构建错误,但是有警告,它不会在Xcode内部更新。有警告,请参见下面的屏幕截图。
@IBDesignable open class UISegmentedControlBorderless : UISegmentedControl {
@IBInspectable var borderColor:UIColor = UIColor.white {
didSet {
setupUI()
}
}
@IBInspectable var textColor:UIColor = UIColor.white {
didSet {
setupUI()
}
}
@IBInspectable var textSelectedColor:UIColor = UIColor.red {
didSet {
setupUI()
}
}
required public init?(coder aDecoder:NSCoder) {
super.init(coder:aDecoder)
setupUI()
}
override init(frame:CGRect) {
super.init(frame:frame)
setupUI()
}
override open func awakeFromNib() {
super.awakeFromNib()
setupUI()
}
override open func prepareForInterfaceBuilder() {
super.prepareForInterfaceBuilder()
setupUI()
}
fileprivate func setupUI() {
tintColor = borderColor
let attributes = [NSAttributedStringKey.foregroundColor: textColor]
let attributes2 = [NSAttributedStringKey.foregroundColor: textSelectedColor]
setTitleTextAttributes(attributes, for: .normal)
setTitleTextAttributes(attributes2, for: .selected)
}
}
警告:
取消继承模块