2

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

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

4

1 回答 1

4

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

- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
  for (UIScrollView *view in self.scrollViews) {
    if (scrollView != view) {
      [view setContentOffset:scrollView.contentOffset];
    }
  }
}
于 2012-10-31T06:49:51.717 回答