在iPad应用程序中,无论用户在哪里触摸屏幕,我都想显示图像,突出显示他们正在触摸的点.该应用程序包含许多嵌套视图,所有这些视图都应接收触摸并正常运行.
看似简单,但我找不到一个好方法.使用touches began: with event
根视图控制器上的相关功能不起作用,因为如果触摸子视图,则不会触发事件.我还创建了一个"虚拟"手势识别器,它只是将触摸事件传递给另一个绘制图像的类.这很好用,按钮工作,但打破UIScrollViews,我猜测其他子视图与手势重新配置.
是否有无处你可以访问所有不影响触摸事件,其中的触摸被向何处去?
谢谢.
您的虚拟手势识别器应该没问题.请注意设置状态.可能 - >开始 - > ...
基本上你的手势识别器正在转发所有触摸,因此它可以在任何触摸存在时始终处于开始或可能的状态.
要摆脱其他手势识别器的问题,请在此委托方法中返回YES.
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer { return YES; }
其他选项是在您的应用程序中继承主UIWindow并覆盖此方法
- (void)sendEvent:(UIEvent *)event
在这里,您应该可以访问所有活动.过滤它们非常容易.