我在ViewController中有一个scrollview。滚动视图有一个UIScrollViewDelegate
。在此之上,我添加了一个Tableview,如下所示:
self.view.addSubview(self.tableView)
但是当我以某种方式在tableview单元上滚动时,scrollview委托正在获取事件,这是意外的。 我该怎么做才能防止这种情况?
答案 0 :(得分:1)
UITableView
是UIScrollView
的子类,这就是在滚动UIScrollViewDelegate
时收到cell
调用的原因。
如果要为TableView
启用滚动功能,则无法避免。我建议您在委托方法中检查此条件,例如:
func scrollViewDidScroll(_ scrollView: UIScrollView) {
guard scrollView != self.tableView else {return}
}
答案 1 :(得分:0)
这很正常,因为UITableView是UIScrollView的子类。因此,您应该检查一下scrollView!= self.tableView,然后在scrollView委托方法内执行您想做的事情。