【发布时间】:2016-12-14 22:05:47
【问题描述】:
我想覆盖UIView 类的属性,以便在每次更改 .enabled 的属性值时执行额外的代码行。我该怎么做?
例如:
- 有
MyUIViewclass myClass - 有 myClass.enabled 属性
- 我想覆盖它来添加下一个东西
- 编辑
UIView类型的子视图,如果启用则将背景设置为红色/如果禁用则将背景设置为绿色。 - 编辑
UIButton类型的子视图并在禁用时禁用/启用时启用。
- 编辑
【问题讨论】:
我想覆盖UIView 类的属性,以便在每次更改 .enabled 的属性值时执行额外的代码行。我该怎么做?
例如:
MyUIViewclass myClassUIView 类型的子视图,如果启用则将背景设置为红色/如果禁用则将背景设置为绿色。UIButton 类型的子视图并在禁用时禁用/启用时启用。【问题讨论】:
代码看起来像这样 -
class SubClass: UIView {
override var userInteractionEnabled: Bool {
didSet {
// Do the color change and other stuff.
// Use oldValue to access old value
}
}
}
关于这个 setter 和 getter 有更多的探索。
【讨论】: