UISharedApplication 键窗口返回 nil

Posted

技术标签:

【中文标题】UISharedApplication 键窗口返回 nil【英文标题】:UISharedApplication keywindow returning nil 【发布时间】:2013-10-14 18:29:59 【问题描述】:

我正在 iPad 上使用 cocos2d,我正在使用 ccviewcontroller 类来帮助集成 UIKit 和 cocos2d。我已经设置了一个故事板并有一个初始视图控制器,并且我正在使用此代码来设置 CCGLView:

CCGLView *glView = [CCGLView viewWithFrame:[[[UIApplication sharedApplication] keyWindow] bounds]
                                   pixelFormat:kEAGLColorFormatRGB565
                                   depthFormat:0
                            preserveBackbuffer:NO
                                    sharegroup:nil
                                 multiSampling:NO
                               numberOfSamples:0]; 

但由于某种原因,keyWindow 边界返回 0 并且 keyWindow 为 nil。我不确定为什么会这样。我有使用故事板的项目并设置了初始视图控制器,所以我有点难过。任何帮助都会很棒!谢谢!

【问题讨论】:

你找到原因了吗。我和你遇到了同样的问题。 【参考方案1】:

使用情节提要,您需要在应用委托上有一个窗口属性,并且启动机制会为您创建和设置该对象。

【讨论】:

嗯,设置好了吗?你为什么要从 sharedApplication 而不是委托中获取它?请注意,共享应用程序值不会立即设置。来自文档:此属性将 UIWindow 对象保存在最近发送 makeKeyAndVisible 消息的 windows 数组中。"【参考方案2】:

用这个和 njoy 替换你的代码。

UIWindow *keyWindow = [[[UIApplication sharedApplication] delegate] window];

【讨论】:

以上是关于UISharedApplication 键窗口返回 nil的主要内容,如果未能解决你的问题,请参考以下文章

如何将ListBox绑定到返回键以关闭窗口

windows快捷键

startuml怎么返回上一部操作

js history对象 手机物理返回键

易语言监控鼠标按键

按啥键能使界面全屏变窗口化?