cocos2dx 2.1.x 退出SDK相关界面后EGLView 不刷新渲染

报错内容为:

[3390:1456879] failed to call context
cocos2d: surface size: 0x0
[3390:1456879] Failed to make complete framebuffer object 0x8CD6
OpenGL error 0x0506 in -[CCEAGLView swapBuffers] 

framebuffer 出问题了,所以无法渲染.

 

解决方法是 在 window的 RootViewController 之前加一层UINavigationController.

假设真正的放置EAGLView的是UIViewController变量名为 viewController

 UINavigationController * nc = [[UINavigationController alloc] initWithRootViewController:viewController];
 nc.navigationBar.hidden = true;  (将导航条隐藏掉)
[window setRootViewController:nc]; 

 

好像是ios7之后才有这个问题的. 之前的cocos引擎确实用不到UINavigationController的功能,所以没加进去也不怪责引擎.

 

posted @ 2017-04-06 20:24  陈浩明  阅读(683)  评论(0编辑  收藏  举报