我有一个自定义的 UILabel
并且我覆盖了它的文本属性。如果 upperCase = true
,我需要修改此属性的值,问题是我正在递归调用 setter。
@IBDesignable class CustomLabel: UILabel {
@IBInspectable var upperCase: Bool = false
override var text: String? {
willSet {
if upperCase == true {
text = newValue?.uppercaseString
}
}
}
}
我也试过:
var aux: String?
override var text: String? {
get { return aux }
set { aux = newValue }
}
但是没有设置文本标签。有什么建议吗?
最佳答案
使用 super
override var text: String? {
get { return super.text }
set(v){ super.text = v }
}
关于ios - 修改覆盖属性 willSet get/set 的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32353506/