我有一个带有几个滚动视图的屏幕。如何实现这一点:当我点击一个并滑动时,它们都开始滚动。我当然知道UIScrollViewDelegate
方法,到目前为止我试图做的是结合-setContentOffset:animated:
它scrollViewDidScroll
,但它只适用于一种情况——当我开始使用委托滚动视图滚动时。
如何动态更改委托?取决于用户选择哪个滚动视图?
我有一个带有几个滚动视图的屏幕。如何实现这一点:当我点击一个并滑动时,它们都开始滚动。我当然知道UIScrollViewDelegate
方法,到目前为止我试图做的是结合-setContentOffset:animated:
它scrollViewDidScroll
,但它只适用于一种情况——当我开始使用委托滚动视图滚动时。
如何动态更改委托?取决于用户选择哪个滚动视图?
UIScrollView
保留所有对象的数组。确保他们的所有委托都指向同一个对象(或者如果这不可能,则有某种处理程序会被调用scrollViewDidScroll
)。然后使用setContentOffset
调整偏移量。您有正确的想法,但您只想确保除了当前视图(由委托方法参数确定)之外的所有滚动视图都在滚动。
- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
for (UIScrollView *view in self.scrollViews) {
if (scrollView != view) {
[view setContentOffset:scrollView.contentOffset];
}
}
}