这是我一直在解决的一个棘手的 iPhone 问题。我在页面上有三个 UIScrollView,一个仅水平滚动,一个仅垂直滚动,一个既水平又垂直滚动。我想将视图锁定在一起,以便水平滚动视图的水平位置与主滚动视图的水平位置匹配,垂直滚动视图同样如此,以便拖动主滚动视图来控制水平和垂直滚动视图。
问题是,我完全被难住了。我查看了苹果文档,但似乎没有任何官方方法可以做到这一点。我的一个想法是以某种方式将任何滚动视图上的任何触摸“克隆”到其他两个滚动视图上的某个点,但我不知道如何做到这一点。如果有人对此有任何想法,我将非常感激。
编辑:我尝试了子类化 UIScrollView 并覆盖 TouchMoved 以在其他滚动视图上调用 TouchMoved 的建议。不幸的是,touchesMoved 不会被调用来进行滚动动作,因为 UIScrollView 以某种方式拦截这些动作并使用它们来控制其滚动。我开始寻找更底层的东西并找到了核心动画滚动层,但理想情况下我不想从头开始重新创建 UIScrollView 。仍在尝试解决这个问题。
我认为最简单的方法是将委托添加到实现以下方法的滚动视图中:
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
然后您可以检查 contentOffset 以检查滚动视图实际滚动的程度,并相应地更新主滚动视图。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)