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