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的主要内容,如果未能解决你的问题,请参考以下文章