【问题标题】:GLKViewController inside a ViewController inside a Navigation Controller导航控制器内的视图控制器内的 GLKViewController
【发布时间】:2012-09-04 17:23:28
【问题描述】:

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

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

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

【问题讨论】:

    标签: xcode opengl-es uinavigationcontroller glkit


    【解决方案1】:

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

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

    这会触发更新循环:

    self.paused = NO;

    【讨论】:

    • 谢谢!做到了。非常奇怪的是,当它放入导航控制器时会被初始化为暂停状态。感谢您的帮助!
    猜你喜欢
    • 1970-01-01
    • 2010-10-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-20
    • 2018-07-23
    • 1970-01-01
    • 2014-04-10
    相关资源
    最近更新 更多