我正在开发一个支持在表格视图之间拖动项目的 iPhone/iPad 应用程序。由于所有表格都不适合屏幕,我编写了一个自定义UIScrollView
,将它们水平放置,并支持分页。
虽然我已经完成了主要的拖放操作,但仍有一些我无法解决的问题。
在用户选择了要拖动的项目并且正在拖动后,他们无法滚动
UIScrollView
以找到目的地UITableView
。有时用户会想要在同一个表格视图中拖动项目。但是一旦开始拖动,表格视图就不再识别滚动手势。
我尝试了各种不同的选项,包括实现 aUIGestureRecognizerDelegate
并允许多个手势识别器同时识别手势。
正如我所见,这个问题源于事件处理指南中的描述:“iOS 将一个或多个手指触摸屏幕识别为多点触控序列的一部分。这个序列从第一根手指触摸屏幕开始,当最后一根手指从屏幕上抬起。”
UIGestureRecognizer
实例总是匹配整个序列。就我而言,我想将单个序列拆分为离散的手势——一些触摸识别项目的拖动,而同一序列中的不同触摸应该被识别为滑动或滚动手势。实际上,我希望我的手势识别器能够同时识别,但只能识别不同的触摸。一旦有人将触摸识别为手势的一部分,其他人就应该忽略该触摸。
我还没有找到使用默认UIGestureRecognizer
子类连贯地解决所有这些问题的方法,现在我要编写自己的自定义多部分手势识别器。
我宁愿不必——有没有更合适的方法来达到同样的结果?