我可以在不使用全屏视图的情况下使用iOS GLKit吗?

Ada*_*ach 7 ios opengl-es-2.0 glkit

我使用GLKit启动了Xcode模板,但我的目的是有一个窗口显示视图的OpenGL部分和UIKit控件.

GLKViewController附带一个GLKView.我去了IB并删除了GLKView并添加了一个UIView,将新的GLKView放在我想要的大小的顶部.然后我修复了对GLKView(self.view)的引用,并将较小的GLKView委托设置为视图控制器.

我有

*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '-[GLKViewController loadView] loaded the "2-view-9XZ-07-hga" nib but didn't get a GLKView.'
Run Code Online (Sandbox Code Playgroud)

然后我查看了docs并发现GLKViewController需要GLKView作为其视图.没有惊喜.是的,我是新来的.

在GLKView小于全屏的情况下使用GLKit的好方法是什么?或者混合UIKit和GLKit还没有完成?

(更新:很多人都在发现这个问题; Duncan的答案,使用视图控制器遏制,效果很好.)

Dun*_*n C 8

你可以,但GLKit并没有明白如何.

问题是GLKViewController的设计使它的内容视图就像GLKView一样.

你有两个选择.

  1. 创建一个GLKView并将其放在常规视图控制器中.这很好.

  2. 使用GLKView作为其内容创建GLKViewController,并使用iOS 5中新的父/子视图控制器支持使其成为另一个视图控制器的子视图.