Ken*_*and 35 uiwindow hittest ios8
我的一个旧应用程序不适用于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>>
Run Code Online (Sandbox Code Playgroud)
我正在使用旧式MainWindow.xib.在MainWindow.xib中是我的Window对象,以及UINavigationController,它也在其中定义了第一个View Controller.下图显示了连接到App Delegate的Outlets.
下面屏幕截图中的白色"视图"是UIWindow.右边的视图是UINavigationController(隐藏导航栏),其中定义了第一个ViewController.
如何在不使用新项目从头开始重新创建整个应用程序的情况下解决此问题?
编辑:我刚刚发现有一个TINY条带,其中我的按钮实际上会收到他们的点击/点击.
我也注意到我的self.view.window是零.我如何确保设置?
efp*_*ies 44
除了BH回答.看看这个答案.
从纵向方向启动我的横向应用程序时也遇到此问题(也不应该在最近打开的应用程序列表中显示应用程序,可以通过按Home键两次看到.也许,iOS以某种方式缓存方向和窗口大小).
我的代码是
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
[self.window makeKeyAndVisible];
Run Code Online (Sandbox Code Playgroud)
我W+H
为窗口设置了自动调整遮罩,它没有帮助我,因为窗口没有在旋转时调整大小,但是transform
矩阵被更改了.
解决方案很简单
self.window = [UIWindow new];
[self.window makeKeyAndVisible];
self.window.frame = [[UIScreen mainScreen] bounds];
Run Code Online (Sandbox Code Playgroud)
因此,在窗口从根视图控制器获取其方向之后设置框架.
归档时间: |
|
查看次数: |
27189 次 |
最近记录: |