【发布时间】:2019-04-03 04:31:45
【问题描述】:
我在使用 UIButton 时遇到了一个奇怪的问题。我有以下自定义类:
import UIKit
@IBDesignable class ToggleButton: UIButton {
@IBInspectable var state1Image: UIImage = UIImage()
@IBInspectable var state2Image: UIImage = UIImage()
@IBInspectable var someString: String = ""
private var toogleOn: Bool = false {
didSet {
if toogleOn {
isSelected = true
} else {
isSelected = false
}
}
}
override init(frame: CGRect) {
super.init(frame: frame)
setup()
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
setup()
}
private func setup() {
print("test")
print("some string is \(someString)")
}
@objc func didToggleButton() {
toogleOn = !toogleOn
}
}
在界面生成器中,我设置了可检查变量,假设我将someString 设置为 hello。现在,当我运行应用程序并查看日志时,var 的print 是""。我也无法设置图像。它只使用默认值,不会使用我设置的新值。我在这里做错了什么?
【问题讨论】:
标签: uibutton ibdesignable ibinspectable