gpt4 book ai didi

ios - 为什么UIWindow添加UIGestureRecognizer后iPad无响应?

转载 作者:行者123 更新时间:2023-11-29 04:43:05 26 4
gpt4 key购买 nike

背景:我需要查看应用程序中发生的每个 UITouch,并查看 UITouch 是否不在某个 UIImageView 内。

WildcardGestureRecognizer 看起来很有前途,我尝试了它。 (代码在这里): How to intercept touches events on a MKMapView or UIWebView objects?

它非常适合沙箱/快速创建的应用程序。然而,该应用程序并未反射(reflect)实际目标项目的复杂性。目标项目有一个 TableView Controller 等等。

将 WildcardGestureRecognizer 添加到更复杂的 iPad 应用程序后,我发现在添加手势识别器并单击一下后,其他控件都不起作用。

这是我正在尝试的一些代码。同样,沙箱代码上还没有控件(例如 TableView Controller 甚至 UIButton),以查看它们在将手势识别器添加到 UIWindow 后是否工作。

我应该选择 UIWindow 以外的其他东西来添加手势识别器吗?还是我会遇到同样的问题?有更好的办法吗?

沙箱代码:https://github.com/finneycanhelp/GestureKata

最佳答案

您可能想尝试另一种方法:创建一个 UIWindow 子类,在您的 XIB 中使用它并覆盖 hitTest:withEvent: 。它返回已被“选择”以接收触摸事件的 View 。

- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event
{
UIView *v;

v = [super hitTest:point withEvent:event];
if (v == myImageView) {
// Do something. Maybe return nil to prevent the touch from getting
// sent to the image view.
}

return v;
}

重写此方法在调试时也很有帮助。

关于ios - 为什么UIWindow添加UIGestureRecognizer后iPad无响应?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10067059/

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