将触摸转发到 UINavigationController Interactive Pop Gesture 不完全工作

Forwarding touches to UINavigationController Interactive Pop Gesture Not completely Working

我正在尝试在键盘的附件视图上启用交互式流行手势识别器。默认情况下它不起作用。

我将交互式弹出手势识别器引用传递给了我的附件视图,以便将其触摸事件转发给识别器

它特别有效:导航栏的标题被更改,附件视图的背景显示前一个视图控制器的视图,就好像转换确实开始了一样。但是即使手势识别器完成跟踪,顶视图本身仍然存在。

我还尝试将触摸事件转发给导航控制器本身、它的视图、它的顶视图控制器以及它们的 window。即使同时转发给所有人也没有任何变化

知道缺少什么吗?

似乎无法在响应链中重用触摸事件实例。一旦 UIWindow 上的 sendEvent: 被调用,已经有某个视图拥有触摸,因此将 UIEvent 实例转发给其他视图或它们的手势识别器没有任何问题。

但是,拥有视图可以将事件转发到它的 nextResponder()s(例如:附加到该视图或视图的子视图之一的手势识别器之一)

将触摸转发到另一个视图(从另一个视图层次结构)或另一个视图的手势识别器的唯一机会是在 UITouch 对象创建之前:即在 UIWindow 级别 [=16] =]方法调用,即调用pointInside:withEvent:方法

无论如何,我不确定是否可以将触摸从一个 UIWindow 转发到另一个。稍后会更新答案

http://www.russbishop.net/uitouchtypestylus?utm_campaign=iOS%2BDev%2BWeekly&utm_medium=email&utm_source=iOS_Dev_Weekly_Issue_225

http://smnh.me/hit-testing-in-ios/