gpt4 book ai didi

objective-c - 检测应用程序中的所有触摸

转载 作者:可可西里 更新时间:2023-11-01 06:22:30 26 4
gpt4 key购买 nike

在 iPad 应用程序中,无论用户触摸屏幕的什么地方,我都想显示图像,突出显示他们触摸的点。该应用包含许多嵌套 View ,所有这些 View 都应接收触摸并正常运行。

看起来很简单,但我一直没找到好的方法。使用 touches beginned: with event 和 Root View Controller 上的相关函数不起作用,因为如果触摸 subview ,则不会触发事件。我还创建了一个“虚拟”手势识别器,它只是将触摸事件传递给另一个绘制图像的类。这很好用,按钮也能用,但会破坏 UIScrollViews,我猜其他 subview 带有手势识别器。

有没有什么地方可以访问所有触摸事件而不影响这些触摸的方向?

谢谢。

最佳答案

你的虚拟手势识别器应该没问题。只需注意设置状态。可能 -> 开始 -> ...

基本上,您的手势识别器会转发所有触摸,因此只要存在任何触摸,它就可以一直处于开始或可能状态。

要摆脱其他手势识别器的问题,请在此委托(delegate)方法中返回 YES。

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer {
return YES;
}

其他选择是在您的应用程序中子类化主 UIWindow 并覆盖此方法

- (void)sendEvent:(UIEvent *)event

在这里您应该可以访问所有事件。过滤它们非常容易。

关于objective-c - 检测应用程序中的所有触摸,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8423174/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com