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

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

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

如果这是我唯一的选择,任何人都可以向我指出一些可以实现此目的的开源代码吗?

有帮助吗?

解决方案

知道了!文档是 这里, , 在下面 '创建自定义手势识别器' 在底部。

基本上Apple提供的六种手势都源自UIGestureRecognizer,你可以用同样的方式制作你自己的手势识别器。

然后,在视图的初始化中,连接识别器。只需将其连接起来即可自动重新路由传入的触摸事件。

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

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

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top