2

同じウィンドウでUIButtonのような他のUIObjectと一緒にAppleの新しいGLKViewオブジェクトを使用するサンプルアプリケーションを探しています。私はインターネットからそれを検索していました、そして私が見つけたより似た投稿はそれであり、答えられていません:

私が作成しているアプリケーションでは、同じビューで2つのUIButtonを備えたGLKViewを使用する必要があります。どのボタンを押すかに応じて、GLKViewのパラメーターを変更します。ViewControllerはGLKViewをどのように処理する必要がありますか?GLKViewのみを制御するには、実際のView Controllerとは別にGLKViewControllerを使用する必要がありますか?

ビューコントローラに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

ストーリーボードに移動し、GLKViewController内のビューを選択して、GLKViewクラスとして設定します。

于 2013-11-24T13:39:38.403 に答える