iOS高级手势:获取滑动方向向量

13

通过查看文档,似乎新的高级手势 API 除了基本方向 {左,右,上,下} 之外,不确定滑动的方向。

我需要滑动的起点和方向。

是否有其他方法可以检索此信息,而不是从头开始编写自己的高级手势库以外的基本手势?

如果这是唯一的选项,是否有人能指点我一些开源代码呢?

1个回答

15

明白了!文档在这里,在底部的'Creating Custom Gesture Recognizers'章节下。

基本上,苹果提供的六种手势都是从UIGestureRecognizer派生出来的,你也可以用同样的方式创建自己的手势识别器。

然后,在你的视图初始化中,你可以连接你的手势识别器。连接它只是自动重新路由传入的触摸事件。

事实上,默认行为是让你的识别器成为这些事件的观察者。这意味着你的视图会像以前一样接收到它们,而且如果你的识别器发现一个手势,它就会触发你的myCustomEventHandler方法(你在连接识别器时传递了它的选择器)。

但有时候你想要阻止原始的触摸事件到达视图,你可以在你的识别器中做一些调整。因此,把它看作“观察者”有点误导人。

还有一种情况,其中一个手势需要吞掉另一个手势。就像如果你的视图也准备接收双击,那么不能只发送单击。你必须等待双击识别器报告失败。如果成功,你需要放弃单击-显然你不想同时发送两个手势!


14
链接已移至此处:http://developer.apple.com/library/ios/#documentation/EventHandling/Conceptual/EventHandlingiPhoneOS/GestureRecognizers/GestureRecognizers.html - Justin Tanner
链接已经移动到这里:https://developer.apple.com/library/ios/documentation/EventHandling/Conceptual/EventHandlingiPhoneOS/GestureRecognizer_basics/GestureRecognizer_basics.html - Rukshan
你需要的是 pan gesture,而不是 swipe gesture。Pan 可以完全满足你的需求。 - Victor Engel

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接