13

查看文档,似乎新的高级手势 API 无法确定超出基本 { left, right, up, down } 的滑动方向。

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

除了从头开始编写我自己的高级手势库之外,还有什么方法可以检索到这个基本手势?

如果这是我唯一的选择,谁能给我指出一些这样做的开源代码?

4

1 回答 1

15

知道了!文档在此处,位于底部的“创建自定义手势识别器”下。

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

然后,在你的视图的初始化中,你连接你的识别器。并且只是连接它的行为会自动重新路由传入的触摸事件。

实际上,默认行为是让您的识别器成为这些事件的观察者。这意味着您的视图会像以前一样获取它们,此外,如果您的识别器发现一个手势,它将在您的视图中触发您的 myCustomEventHandler 方法(当您连接识别器时,您传递了它的选择器)。

但有时你想阻止原始的触摸事件到达视图,你可以在你的识别器中摆弄来做到这一点。因此将其视为“观察者”有点误导。

还有另一种情况,一个手势需要吃另一个手势。如果您的视图也准备好接收双击,那么您不能只发回单击。您必须等待双击识别器报告失败。如果成功,您需要使单击失败 - 显然您不想将两者都发送回去!

于 2010-09-28T08:59:48.303 回答