我想在 func scrollViewDidScroll(_ scrollView: UIScrollView) {...}
上做一些事情,这样每个 UITableView
都会运行这个覆盖函数。
我该怎么做?我可以通过扩展或子类来实现吗?
我是编程新手。任何帮助将不胜感激。
最佳答案
scrollViewDidScroll
是 UIScrollViewDelegate
的委托(delegate)方法,UITableView
继承自 UIScrollView
。这不能通过扩展或继承 UITableView 来实现,因为它是一个委托(delegate)方法。
您只能在您的 UITableView
委托(delegate)类中覆盖此函数。
如果您正在使用 UIViewController
。创建基类BaseViewController
class BaseViewController: UIViewController {
public func scrollViewDidScroll(_ scrollView: UIScrollView) {
}
}
如果你正在使用 UITableViewController
,创建一个基类 BaseTableViewController
class BaseTableViewController: UITableViewController {
public override func scrollViewDidScroll(_ scrollView: UIScrollView) {
}
}
现在只需将所有 Controller 父类(super class)更改为 BaseViewController
或 BaseTableViewController
。
希望对您有所帮助。
关于ios - 如何覆盖 UITableView 的功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44557474/