我使用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.'
然后我查看了文档并发现GLKViewController需要GLKView作为其视图。没有惊喜。是的,我是新来的。
在GLKView小于全屏的情况下使用GLKit有什么好方法?或者混合UIKit和GLKit还没有完成?
(更新:很多人都在发现这个问题; Duncan的答案,使用视图控制器遏制,效果很好。)
答案 0 :(得分:8)
你可以,但GLKit没有明确表示如何。
问题是GLKViewController的设计是因为它的内容视图是GLKView,正如你所说。
你有两个选择。
创建一个GLKView并将其放在常规视图控制器中。这很好。
使用GLKView作为其内容创建一个GLKViewController,并使用iOS 5中新的父/子视图控制器支持使其成为另一个视图控制器的子视图。