【发布时间】:2019-06-13 22:38:20
【问题描述】:
我正在使用 swift 构建一个新的 iOS 应用程序,并尝试制作一个自定义 IBDesignable UIButton 类以在设计器中使用。 我的代码在运行时似乎在构建器或应用程序本身中都不起作用。 我给 IBInspectable 变量的默认值不适用于它们。
@IBDesignable class MyButton: UIButton {
@IBInspectable var backColor: UIColor = UIColor.red {
didSet {
self.backgroundColor = backColor
}
}
@IBInspectable var textColor: UIColor = UIColor.white {
didSet {
self.setTitleColor(textColor, for: .normal)
}
}
override init(frame: CGRect) {
super.init(frame: frame)
setup()
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
setup()
}
override func prepareForInterfaceBuilder() {
super.prepareForInterfaceBuilder()
setup()
}
private func setup() {
titleLabel?.font = UIFont.systemFont(ofSize: 17)
contentEdgeInsets = UIEdgeInsets(top: 8, left: 0, bottom: 8, right: 0)
layer.cornerRadius = (frame.height / 2)
setTitle(title(for: .normal)?.uppercased(), for: .normal)
}
}
我希望在设计器/应用程序中看到红色背景和白色文本的按钮,但这些都没有发生。 我正在使用 Swift 4.2 和 Xcode 10.1。
【问题讨论】:
标签: ios swift ibdesignable