7

我同时使用 aUITableViewUIScrollViewinside UIViewController

我的问题是当我滚动表格视图或滚动视图时,会触发 didScroll 委托调用。

如何识别scrollViewDidScroll委托调用的来源?

4

3 回答 3

15

检查委托中给出的 scrollView 参数。

- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
    if(scrollView == self.tableView) {
      // its your tableView
    }
    else if(scrollView == self.scrollView) {
      // its your scrollView
    }
}
于 2013-03-06T10:55:53.917 回答
3

didScroll 方法将滚动视图作为输入

- (void)scrollViewDidScroll:(UIScrollView *)scrollView{
    if(scrollView == self.tableViewInstance){//this is  your table view}
    else {//this is your scroll view}
}

您可以检查输入并查看调用委托方法的是您的滚动视图还是表格视图。

于 2013-03-06T11:11:15.810 回答
1

您可以将 UIScrollView 的标签0添加为 并将 UITableView 的标签添加为1。在委托内部检查标签以了解其中哪个被滚动并执行您的操作:

- (void)scrollViewDidScroll:(UIScrollView *)scrollView
  {
       if(scrollViewl.tag == 0) // ur in scrollView
        if(scrollViewl.tag == 1) // ur in tableView
   }
于 2013-03-06T10:55:14.510 回答