将两个UIScrollView连接在一起

joh*_*188 5 iphone

这是我一直在研究的一个棘手的iPhone问题.我在页面上有三个UIScrollViews,一个只能水平滚动,一个只能垂直滚动,另一个水平和垂直滚动.我想将视图锁定在一起,以便水平唯一滚动视图的水平位置与主滚动视图的水平位置匹配,同样垂直滚动视图,以便拖动主滚动视图来控制水平和垂直滚动视图.

问题是,我完全难过了.我在Apple文档中查看过,但似乎没有任何方法可以正式执行此操作.有人认为我曾经以某种方式"克隆"任何滚动视图上的任何触摸到另外两个上的点,但我不知道如何做到这一点.如果有人对此有任何想法,我会非常感激.

编辑:我尝试了子类化UIScrollView的建议并重写touchesMoved以在其他滚动视图上调用touchesMoved.不幸的是,touchesMoved没有被调用滚动动作,因为UIScrollView以某种方式截取这些动作并使用它们来控制它的滚动.我开始寻找更多低级别的东西并找到核心动画滚动图层,但理想情况下我不想从头开始重新创建UIScrollView.还在努力想出这个.

Mar*_*ote 11

我认为最简单的方法是在您的scrollviews中添加一个委托,它实现以下方法:

- (void)scrollViewDidScroll:(UIScrollView *)scrollView
Run Code Online (Sandbox Code Playgroud)

然后,您可以检查contentOffset以检查scrollview实际滚动的程度,并相应地更新主滚动视图.