通过documentation查看,似乎新的高级手势API无法确定滑动方向超出基本{左,右,上,下}。
我需要滑动的起点和方向。
除了从头开始编写我自己的高级手势库以外,还有其他方法来检索这个吗?
如果这是我唯一的选择,那么有人能指出一些开源代码吗?
答案 0 :(得分:15)
知道了!文档位于here,位于底部的“ 创建自定义手势识别器 ”下。
基本上Apple提供的六个手势都来自UIGestureRecognizer,你可以用同样的方式制作自己的手势识别器。
然后,在你的视图的初始化中,你连接你的识别器。只是将它挂起来自动重新路由传入的触摸事件。
实际上,默认行为是让您的识别器成为这些事件的观察者。这意味着您的视图会像以前一样获取它们,此外,如果您的识别器发现了一个手势,它将在您的视图中触发myCustomEventHandler方法(当您连接识别器时,您传递了它的选择器)。
但有时你想阻止原始的触摸事件到达视图,你可以在你的识别器中摆弄它来做到这一点。因此将其视为“观察者”会有点误导。
还有一个场景,一个手势需要吃另一个手势。如果您的视图也准备好接受双击,那么您不能只发回一次。您必须等待双击识别器报告失败。如果它成功了,你需要单击失败 - 显然你不想发回两个!