7

GLKit を使用して Xcode テンプレートを開始しましたが、私の意図は、ビューの OpenGL 部分とコントロールの UIKit を表示するウィンドウを持つことです。

GLKViewController には GLKView が付属しています。私は IB に行き、GLKView を削除して UIView を追加し、新しい GLKView を必要なサイズで上に置きました。次に、GLKView (self.view) への参照を修正し、より小さい GLKView のデリゲートをビュー コントローラーに設定しました。

私は得た

*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '-[GLKViewController loadView] loaded the "2-view-9XZ-07-hga" nib but didn't get a GLKView.'

次に、ドキュメントを調べたところ、GLKViewController にはビューとして GLKView が必要であることがわかりました。驚きはありません。はい、私はこれが初めてです。

フルスクリーンよりも小さい GLKView で GLKit を使用する良い方法は何ですか? それとも、UIKit と GLKit の混合は行われていませんか?

(更新:多くの人がこの質問を見つけています。ビューコントローラーの封じ込めを使用したダンカンの答えはうまくいきました。)

4

1 に答える 1

8

できますが、GLKit はその方法を明らかにしていません。

問題は、あなたが言うように、コンテンツビューがGLKViewであるようにGLKViewControllerが設計されていることです。

選択肢は 2 つあります。

  1. GLKView を作成し、通常のビュー コントローラーに配置します。それはうまくいきます。

  2. GLKView をコンテンツとして持つ GLKViewController を作成し、iOS 5 の新しい親/子ビュー コントローラー サポートを使用して、別のビュー コントローラーの子ビューにします。

于 2012-04-19T22:29:56.787 に答える