我在屏幕顶部添加了一个UIView / UIWindow。
UIWindow *statusBarWindow = [[UIWindow alloc] initWithFrame:[UIApplication sharedApplication].statusBarFrame];
statusBarWindow.windowLevel = UIWindowLevelStatusBar + 1;
statusBarWindow.userInteractionEnabled = NO;
[statusBarWindow makeKeyAndVisible];
但是这些观点不应该是可触摸的,触及它应触发对这些观点的触摸。现在,当我添加此视图并且没有任何反应时,触摸不会通过。
如何让UIView / UIWindow不处理触摸事件?
我尝试了.userInteractionEnabled = NO
但是没有用。谢谢!
答案 0 :(得分:1)
一种方法是覆盖-hitTest:withEvent:
以在您不想回复触摸的视图中返回NO
。
最好使用不是此窗口的视图,以便superview的hitTest:withEvent:
方法将继续搜索视图层次结构并找到该位置的下一个视图。 (Windows没有超级视图,我不确定事件管理器是否会检查同一事件的其他窗口。)