我创建了第二个窗口,以在应用程序中显示自定义通知:
@property (strong, nonatomic) UIWindow *window2;
这就是我使它出现的方式:
self.window2 = [[UIWindow alloc] initWithFrame:CGRectMake(0, 0, SCREEN_BOUNDS.size.width, 50)];
self.window2.backgroundColor = [UIColor blackColor];
self.window2.windowLevel = UIWindowLevelAlert;
self.window2.rootViewController = custonViewController;
[self.window2 makeKeyAndVisible];
问题是custonViewController内部没有任何触摸事件。
我尝试了所有方法,甚至子类
UIWindow
并覆盖了(void)sendEvent:(UIEvent *)event
。但这也不起作用。如何使我的知己知道window2已被触摸/轻击?
有任何想法吗?
最佳答案
没关系。我发现发生了什么事。
我正在为UIWindow设置动画,以自动动画的出现和消失,在上一个动画完成之后的一系列动画中,延迟时间设置为几秒钟。
在整个动画序列中,它锁定了所有触摸事件。
因此,我分离了动画并将其放在异步线程中,因此它将正常接收触摸。
再见!