我想在func scrollViewDidScroll(_ scrollView: UIScrollView) {...}
上执行某些操作,以便每个UITableView
都会运行此覆盖功能。
我该怎么做?我可以通过扩展或子类来做到这一点吗?
我是编程新手。任何帮助将不胜感激。
答案 0 :(得分:0)
scrollViewDidScroll
是UIScrollViewDelegate
的委托方法,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) {
}
}
现在只需将所有控制器超类更改为BaseViewController
或BaseTableViewController
。
希望它有所帮助。