我不确定为什么这不起作用,但也许这里有人可以阐明问题所在。我正在开发基于 XCode OpenGL 模板的游戏。我有一个小的 GLKViewController ,其 View 不占用全屏区域,因此我在另一个具有全屏 View 作为容器的 UIViewController 中创建它。这有效,并且我的更新/绘制方法按照我的预期被调用。
但是,当我获取容器 View (其中包含 GLKViewController)并尝试在 UINavigationController 中将其初始化为 rootViewController 时,GLKViewController 的更新方法永远不会被调用,并且绘制方法只会被调用一次。
如果没有 UINavigationController,此 View 层次结构可以正常工作,但是一旦添加它,它就不起作用。我已经验证正在调用 GLKViewController 的 viewDidLoad 。上下文已初始化,因为我可以看到第一帧,但之后看起来绘制/更新消息正在被吞没。我可以通过不对这个特定 View 使用导航 Controller 来解决这个问题,但我想了解为什么这不起作用。知道绘制/更新函数可能会发生什么吗?
最佳答案
我最近设法让 GLKViewController 在主/详细 View Controller 中运行,并遇到了同样的问题。
你检查过 GLKViewController 没有暂停吗?
这将触发更新循环:
self.paused = NO;
关于xcode - GLKViewController 位于导航 Controller 内的 ViewController 内,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12268450/