在UIView或CALayer中显示CAEAGLLayer

时间:2010-08-11 08:47:35

标签: iphone uiviewcontroller opengl-es calayer

尝试让OpenGL ES在iPhone上运行时又相当新,但是我已经从OpenGL模板创建了一个工作演示,并希望将它添加到另一个应用程序,这是一个标准的UIViewController应用程序。在搜索之后,似乎我无法将CASAGLLayer的子视图添加到CALayer,即UIView。我该怎么做呢?或者我在做什么我完全错了。

为任何帮助干杯

3 个答案:

答案 0 :(得分:6)

只需使用UIView并添加:

+ (Class)layerClass {
    return [CAEAGLLayer class];
}

UIView现在是CAEAGLLayer,因此您可以将该视图添加为另一个UIView的子视图,就像正常一样。

答案 1 :(得分:1)

我实际需要做的是将EAGLView -initWithCoder更改为-initWithFrame并对方法进行适当的更改以处理该帧。一旦我这样做并使用initWithFrame初始化视图就可以了。

答案 2 :(得分:0)

我相信您正在寻找CALayer的insertSublayer方法或addSublayer方法。