如何覆盖fileprivate扩展中的open var

时间:2017-12-08 08:17:11

标签: ios swift

在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

0 个答案:

没有答案