2

我不确定为什么这不起作用,但也许这里有人可以阐明问题可能是什么。我正在开发基于 XCode OpenGL 模板的游戏。我有一个小的 GLKViewController,它的视图不占用全屏区域,所以我在另一个 UIViewController 中创建它,它确实有一个全屏视图作为容器。这行得通,并且我的更新/绘制方法被调用,正如我所期望的那样。

但是,当我获取容器视图(其中包含 GLKViewController)并尝试在 UINavigationController 中将其初始化为 rootViewController 时,GLKViewController 的更新方法永远不会被调用,而绘制方法只会被调用一次。

如果没有 UINavigationController,此视图层次结构可以正常工作,但是一旦添加,它就不起作用。我已验证正在调用 GLKViewController 的 viewDidLoad。上下文已初始化,因为我可以看到第一帧,但之后看起来绘制/更新消息被吞没了。我可以通过不对这个特定视图使用导航控制器来解决这个问题,但我想了解为什么这不起作用。关于绘制/更新功能可能发生什么的任何想法?

4

1 回答 1

4

我最近设法让 GLKViewController 在 Master/Detail 视图控制器中运行并面临同样的问题。

您是否检查过 GLKViewController 没有暂停?

这将触发更新循环:

self.paused = NO;

于 2012-09-10T00:02:28.790 回答