2

私はこれがSOで何度か尋ねられるのを見ましたが、私が探しているものと正確に一致するものはありません。

私がやりたいのは、単一のGLKViewを縦向きモードに保つことです(この単一のビューを回転させるには、デバイスからの自動回転メソッドを停止します)。

キャッチは、他のすべてを自動回転機能で処理したいということです。

GLKViewはUIViewの子孫であるため、変換を適用するだけで、デバイスが実行しているのとは逆の回転を実行して、常に元の方向に戻し続けることができます。

ただし、OpenGLでエラーが発生するため、変換をレイヤーに直接適用できないため、これは機能しません。「完全なフレームバッファオブジェクト8cd6を作成できませんでした」(回転などの後でフレームバッファオブジェクトを再構築する必要があるかもしれません)

前もって感謝します。

4

1 に答える 1

0

回転の最適な処理は、フレームバッファのレンダリングを一時停止し、回転アニメーション中にスナップショットを取得することです。回転後に一時停止を解除します。

もう1つの方法は、コンテナViewControllerを使用することです。GLKViewを、回転しないViewController子の唯一のビューとして設定します。これは、UIViewController回転用のAPIを提供します。

于 2013-02-06T07:27:40.057 に答える