UIScrollViews同时滚动

时间:2012-10-31 06:45:38

标签: objective-c ios uiscrollview uiscrollviewdelegate

我有一个带有几个scrollView的屏幕。如何实现这个目标: 当我点击一个并滑动时,它们都开始滚动。我当然知道UIScrollViewDelegate方法,到目前为止我尝试做的是将-setContentOffset:animated:scrollViewDidScroll结合使用,但只有一种情况才适用 - 当我开始使用委托scrollview滚动时。

如何动态更改委托?取决于哪个滚动视图用户选择?

1 个答案:

答案 0 :(得分:4)

保留所有UIScrollView个对象的数组。确保所有委托都指向同一个对象(或者如果不可能,则会在scrollViewDidScroll上调用某种处理程序)。然后使用setContentOffset调整偏移量。你有正确的想法,但你只想确保除了当前视图(由委托方法参数确定)之外的所有滚动视图都是滚动。

- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
  for (UIScrollView *view in self.scrollViews) {
    if (scrollView != view) {
      [view setContentOffset:scrollView.contentOffset];
    }
  }
}