如何覆盖UITableView的功能?

时间:2017-06-15 02:18:55

标签: ios swift uitableview

我想在func scrollViewDidScroll(_ scrollView: UIScrollView) {...}上执行某些操作,以便每个UITableView都会运行此覆盖功能。

我该怎么做?我可以通过扩展或子类来做到这一点吗?

我是编程新手。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

scrollViewDidScrollUIScrollViewDelegate的委托方法,UITableView继承自UIScrollView。这不能通过扩展或子类化UITableView来实现,因为它是一种委托方法。

您只能在UITableView委托类中覆盖此功能。

如果您使用UIViewController s。创建基类BaseViewController

class BaseViewController: UIViewController {
    public func scrollViewDidScroll(_ scrollView: UIScrollView) {

    }
}

如果您使用UITableViewController,请创建基类BaseTableViewController

class BaseTableViewController: UITableViewController {
    public override func scrollViewDidScroll(_ scrollView: UIScrollView) {

    }
}

现在只需将所有控制器超类更改为BaseViewControllerBaseTableViewController

希望它有所帮助。