{Xcode 4.4、デプロイ ターゲット iOS5.0、ストーリーボードではなく、ARC を使用}
私はiOSでOpenGLを調べてきました.多くのチュートリアルが示すように、GLKViewControllerとGLKViewをプログラムで作成するのに問題はありませんでした. インターフェイス ビルダーで GLKViewController ライブラリ オブジェクトを使用してみましたが、使用していないストーリーボードのセットアップ以外のチュートリアルや情報はまだ見つかりません。私自身の試みは 100% 機能していないので、誰かが私が間違っていることを教えてくれることを期待して、セットアップのスクリーンショットをここに示しています。明確にするために、私が参照しているインターフェイスビルダーでこのオブジェクトを使用しています:
GLKViewController オブジェクトをライブラリから IB にドラッグしてセットアップし、IB に子 GLKView も配置します。デフォルトのビューを削除したので、次のようになります。
OpenGLVC2 クラス (GLKViewController) に GLKView アウトレット プロパティを作成し、アウトレットを次のように配線しました。
実際、最初は GLKViewController オブジェクトで自動的に配線されているため、ファイルの所有者にビュー アウトレットを配線していませんでしたが、「OpenGL2_iPhone nib をロードしましたが、ビュー アウトレットが設定されていませんでした」というエラーで終了します。また、ファイルの所有者デリゲートを GLKViewController オブジェクトに接続しましたが、「このクラスは、キー デリゲートのキー値コーディングに準拠していません」というエラーで終了します。IB の GLKViewController はカスタム クラス OpenGLVC2 に設定されているため、GLKViewControllerは実行時に結合されるとファイルの所有者になると思いましたが、明らかに私はそれについて間違っています。
上記のスクリーンショットが示すように配線すると、セットアップは実際には画面に一度描画する限り機能しますが、レンダリングループが発生しません (つまり、更新メソッドが起動しません)、および shouldAutorotateToInterfaceOrientation: don' のような他のメソッドは取得しません火。私の OpenGL2VC クラスへの私の GLKView 委任は正常に機能しているようですが、私の GLKViewController はそうではありません。
GLKViewController と GLKView メソッドを同じ GLKViewController クラスに持つ IB nib アプローチは可能ですか? それが、私が行ったチュートリアルでプログラム的に行われた方法です (実際、最初のステップでは、すべてのコードが AppDelegate にありました)。何か問題がある場合に備えて、GLKViewController と GLKView の ID と属性インスペクターのスクリーンショットを次に示します。
前もって感謝します。