Bha*_*ath 2 iphone cocoa-touch opengl-es ios opengl-es-2.0
我有一个适用于iPad的OpenGL ES 2.0应用程序.是否可以使用UILabel在屏幕上放置文本,就像在传统的iOS应用程序中一样?
我试着插入一个标签,但它没有显示出来.如果有可能,有人可以解释这个过程吗?我们应该在viewcontroller.xib文件或mainwindow.xib文件中插入标签,还要在哪里写入适当的代码?
Bra*_*son 10
正如我在此处和此处的类似答案中所解释的那样,您的OpenGL ES内容托管在支持特定UIView的CAEAGLLayer中.此UIView的行为与显示层次结构中的任何其他视图类似,因此您可以在其上添加UILabel和其他控件,或者作为覆盖此视图的兄弟姐妹.
如果您使用Interface Builder来布局UI,那么您应该拥有一个包含该界面中某处的OpenGL ES内容的视图.您可以在界面生成器中将UILabel添加为此UIView的子视图,并让它显示(记住要正确地为文本着色,这样就不会在黑色的OpenGL ES背景上获得黑色文本).您也可以通过-addSubview:
在OpenGL ES托管视图上使用以编程方式执行此操作.
在我的测试中,在OpenGL ES内容上覆盖UIKit控件只会导致渲染速度略有下降(在我的应用程序中为1-5%),因此这是一种可行的方法.
如果您想查看此操作的示例,请查看我的Molecules应用程序的源代码,该应用程序使用覆盖在iPhone上的OpenGL ES内容上的标签和其他控件.
归档时间: |
|
查看次数: |
2702 次 |
最近记录: |