gpt4 book ai didi

ios8 - _UIApplicationHandleEventFromQueueEvent 中的意外 nil 窗口

转载 作者:行者123 更新时间:2023-12-03 07:54:58 24 4
gpt4 key购买 nike

我的一个旧应用程序不适用于 iOS8。当我启动应用程序并尝试点击屏幕上的任何地方时,我在控制台中收到此消息:

unexpected nil window in _UIApplicationHandleEventFromQueueEvent, 
_windowServerHitTestWindow: <UIWindow: 0x7fe4d3e52660; frame = (0 0; 320 568);
opaque = NO; autoresize = RM+BM; gestureRecognizers = <NSArray: 0x7fe4d3e2c450>;
layer = <UIWindowLayer: 0x7fe4d3e86a10>>

我使用的是旧式 MainWindow.xib。在 MainWindow.xib 中是我的 Window 对象,以及一个 UINavigationController,其中也定义了它的第一个 View Controller 。下图显示了连接到 App Delegate 的 Outlets。

下面屏幕截图中的白色“ View ”是 UIWindow。右侧的 View 是 UINavigationController(隐藏导航栏),其中定义了第一个 ViewController。

enter image description here

如何在不使用新项目从头开始重新创建整个应用程序的情况下解决此问题?

编辑:我刚刚发现有一个小条,其中我的按钮实际上会收到他们的点击/点击。

我还注意到我的 self.view.window 为零。我如何确保已设置?

enter image description here

最佳答案

补充 B H 答案。还看 this answer .

从纵向启动我的仅横向应用程序时遇到了这个问题(该应用程序也不应该出现在最近打开的应用程序列表中,可以通过按两次主页按钮来看到。也许,iOS 以某种方式缓存了方向和窗口大小)。

我的代码是

self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
[self.window makeKeyAndVisible];

我设置了 W+H窗口的自动调整大小掩码,它对我没有帮助,因为窗口不会在旋转时调整大小,而是 transform矩阵改变。

解决方法很简单

self.window = [UIWindow new];
[self.window makeKeyAndVisible];
self.window.frame = [[UIScreen mainScreen] bounds];

所以框架是在窗口从根 View Controller 获取其方向之后设置的。

关于ios8 - _UIApplicationHandleEventFromQueueEvent 中的意外 nil 窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25963101/

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