2

我正在寻找一个示例应用程序,它在同一窗口中使用 Apple 的新 GLKView 对象以及 UIButton 等其他 UIObjects。我正在从互联网上搜索,我发现的更像是那个帖子并且没有得到回答:

在我正在创建的应用程序中,我需要在同一个视图中使用带有 2 个 UIButton 的 GLKView。根据我按下的按钮,我更改了 GLKView 的参数。ViewController 应该如何处理 GLKView?我应该有一个与实际视图控制器分开的 GLKViewController 来仅控制 GLKView 吗?

我试图让我的视图控制器继承 GLKViewController。

@interface ViewController : GLKViewController <GLKViewControllerDelegate, GLKViewDelegate>

并在viewDidLoadFunction中设置名为OpenGLView的GLKView:

- (void)viewDidLoad
{
[super viewDidLoad];

EAGLContext *aContext = [[EAGLContext alloc] initWithAPI:kEAGLRenderingAPIOpenGLES2];

openGlView.delegate = self;
openGlView.context = aContext;

openGlView.drawableColorFormat = GLKViewDrawableColorFormatRGBA8888;
openGlView.drawableDepthFormat = GLKViewDrawableDepthFormat16;
openGlView.drawableMultisample = GLKViewDrawableMultisample4X;

self.delegate = self;
self.preferredFramesPerSecond = 30;

glClearColor(0.0f, 0.0f, 0.0f, 1.0f);
}

构建顺利,但是当我运行应用程序时它崩溃说:

'NSInternalInconsistencyException',原因:'-[GLKViewController loadView] 加载了“2-view-5”笔尖,但没有获得 GLKView。

有人能帮我吗?我正在为此搜索示例,但找不到

乔迪·P

4

2 回答 2

2

您收到的错误消息意味着 GLKViewController 子类(您的 viewController)无法找到 GLKView 的预期出口。在 IB 中,viewController 的 view 属性必须连接到 GLKView(或子类)才能正常工作。

于 2012-01-09T18:11:54.420 回答
0

转到 Storyboard,选择 GLKViewController 中的视图,并将其设置为 GLKView 类。

于 2013-11-24T13:39:38.403 回答