我有一个自定义UILabel,我覆盖它的文本属性.我需要修改此属性的值,如果upperCase = true问题是我正在递归调用setter.
@IBDesignable class CustomLabel: UILabel {
@IBInspectable var upperCase: Bool = false
override var text: String? {
willSet {
if upperCase == true {
text = newValue?.uppercaseString
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
我也尝试过:
var aux: String?
override var text: String? {
get { return aux }
set { aux = newValue }
}
Run Code Online (Sandbox Code Playgroud)
但文本标签未设置.有什么建议吗?
用超级
override var text: String? {
get { return super.text }
set(v){ super.text = v }
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1797 次 |
| 最近记录: |