在Swift中,如何覆盖fileprivate扩展中的open var,或者有没有办法实现这个目标?
在视图控制器中有一个表视图,当我触摸一个按钮时,isUserInteractionEnabled
的属性将被设置为相反,然后表视图的alpha将根据isUserInteractionEnabled
而改变。
我想使用属性观察,覆盖isUserInteractionEnabled
扩展名中的UITableView
fileprivate extension UITableView {
open override var isUserInteractionEnabled: Bool {
didSet {
alpha = isUserInteractionEnabled ? 1.0 : 0.6
}
}
}
代码嵌入在UIViewController中,我想这个扩展只在这个视图控制器中生效。但事实证明它不起作用。此扩展程序在我使用UITableView
。
如何覆盖扩展程序中的isUserInteractionEnabled
并使其在特定文件中生效。我避免编写如下代码,维护起来似乎很痛苦。
tableView.alpha = 0.6
tableView.isUserInteractionEnabled = false