{Xcode 4.4,部署目标iOS5.0,而非故事板,使用ARC}
我一直在研究iOS和OpenGL中的OpenGL。我创建GLKViewController&amp ;; GLKView以编程方式显示许多教程。我想尝试在界面构建器中使用GLKViewController库对象,但我还没有找到任何教程或信息,除了故事板设置,我没有使用。我自己的尝试不是100%工作,所以我在这里显示我的设置截图,希望有人可以告诉我我做错了什么。只是为了澄清,它是在我所指的界面构建器中使用这个对象:
我通过将一个GLKViewController对象从库中拖动到IB中进行设置,这也将子GLKView放在那里。我删除了默认视图&所以它看起来像这样:
我在我的OpenGLVC2类(一个GLKViewController)&中创建了一个GLKView出口属性。我这样连接了这些网点:
实际上,起初我没有连接文件所有者的视图插座,因为它已经在GLKViewController对象中自动完成,但是终止时出现错误“加载了OpenGL2_iPhone笔尖但未设置视图插座”。我还将文件的所有者委托连接到GLKViewController对象,但是终止时出现错误“此类不符合密钥委托的密钥值编码”。我认为,因为IB中的GLKViewController设置为自定义类OpenGLVC2,GLKViewController 是文件的所有者,一旦它们在运行时被拼接在一起,但显然我错了。< / p>
所以如上面的屏幕截图所示连接它,设置实际上只能绘制到屏幕一次,但我没有得到渲染循环(即更新方法不会触发),&amp;其他方法如shouldAutorotateToInterfaceOrientation:不要开火。看来我的OpenGL2VC类的GLKView委派工作正常,但我的GLKViewController却没有。
使用IB nib方法是否可以使用GLKViewController&amp; GLKView方法在同一个GLKViewController类中?这就是我在教程中以编程方式完成的(实际上,第一步所有代码都在AppDelegate中)。这是我的身份和屏幕截图属性检查员为GLKViewController&amp; GLKView,以防出现错误:
提前致谢。
答案 0 :(得分:0)
我对你的笔尖感到奇怪的是它里面的GLKViewController
对象。通常文件的所有者属于GLKViewController
类型,下方只有GLKView
。这可以通过下面的图片来说明。
我为控制器创建nib的常用过程是添加视图类型的新nib文件,并将文件所有者的类设置为我正在使用的控制器类。
注意:我无法从nib中明确地将GLKViewController
的委托设置为self,但这可以在代码中完成。