gpt4 book ai didi

objective-c - 嵌套的 GLKView 和 GLKViewController

转载 作者:可可西里 更新时间:2023-11-01 05:38:44 24 4
gpt4 key购买 nike

我是 OpenGL ES 的新手,正在试用 GLKit。我的目标是开发一个非常简单的应用程序,以便更好地感受 OpenGL。

我从 Apple 的示例代码(OpenGL ES 游戏)开始,实现了基本的手势控制:平移、缩放、旋转(轨迹球算法)。

既然已经完成了,我想尝试不同的投影矩阵,我开始设计一个用户界面来做到这一点:


(来源:canardpc.com)

唯一的问题是,当 GLKViewController 中的顶 View 不是 GLKView 时,它不起作用。

是否可以将 GLKView 作为 subview 并仍然保留 GLKViewController 的酷特性?

谢谢。

最佳答案

好的,所以我找到了答案。

图中的“OpenGL View Controller”必须是一个普通的UIViewController。将此 View Controller 子类化并在 viewDidLoad 中,以编程方式创建您的 OpenGL View Controller :

- (void)viewDidLoad
{
[super viewDidLoad];

_openGLViewController = [[FZIOpenGLViewController alloc] initWithNibName:@"FZIOpenGLView" bundle:nil];

_openGLViewController.view.frame = _openGLView.frame;

[self.view addSubview:_openGLViewController.view];

}

在这段代码中,_openGLView是一个IBOutlet,代表图片中的“GLKit View”。它基本上只是为了获得正确的尺寸。

_openGLViewController 是处理所有 OpenGL 的 GLKViewController 子类。 .xib 文件 FZIOnGLView.xib 只是一个具有适当文件所有者 (FZIOnGLViewController) 的 GLKView。

有效:

result
(来源:canardpc.com)

关于objective-c - 嵌套的 GLKView 和 GLKViewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8244525/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com