这是我一直在研究的一个棘手的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实际滚动的程度,并相应地更新主滚动视图.
| 归档时间: |
|
| 查看次数: |
2186 次 |
| 最近记录: |