2012-04-19 32 views
7

私はGLKitを使用してXcodeテンプレートを開始しましたが、私の意図はビューのOpenGL部分とコントロールのUIKitを示すウィンドウを持つことです。フルスクリーン表示を使わずにiOS GLKitを使用できますか?

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

私は

*** 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が必要であることを見つけました。驚きはありません。はい、私はこれで新しいです。

GLKitをフルスクリーンよりも小さいGLKViewで使用するには、どのような方法が良いですか?または、UIKitとGLKitをミックスしているだけですか?

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

答えて

8

することができますが、GLKitはどのようにそれは明らかになりません。

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

2つの選択肢があります。

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

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

+0

おかげダンカン、親/子供は私が調べるものです。 –

関連する問題