3

Xcode4.5.1がインストールされたMtLionで実行しています。

デフォルトでは、iOS 5.1デバイスをビルドしてデプロイすると、デバイスを回転させるとディスプレイが回転しますが、iOS 6シミュレーター、またはiOS 6を実行しているiPadまたはiPhoneにデプロイすると、表示が機能しないようです。

ここに欠けているものはありますか?

4

1 に答える 1

1

以下をお読みください。お役に立てば幸いです。(参照http://developer.apple.com/library/ios/#documentation/uikit/reference/UIViewController_Class/Reference/Reference.html

Handling View Rotations

iOS 6、アプリはアプリのInfo.plistファイルで定義されたインターフェースの向きをサポートします。A view controller can override the supportedInterfaceOrientations method to limit the list of supported orientations。通常、システムはこのメソッドをウィンドウのルートビューコントローラーまたは画面全体に表示されるビューコントローラーでのみ呼び出します。子ViewControllerは、親View Controllerによって提供されたウィンドウの一部を使用し、サポートされている回転に関する決定に直接関与しなくなりました。アプリの方向マスクとビューコントローラーの方向マスクの交点を使用して、ビューコントローラーを回転できる方向を決定します。

特定の方向で全画面表示されることを目的としたビューコントローラのpreferredInterfaceOrientationForPresentationをオーバーライドできます。

ではiOS 5 and earlier、UIViewControllerクラスはポートレートモードでのみビューを表示します。追加のオリエンテーションをサポートするには、you must override the shouldAutorotateToInterfaceOrientation: method and return YES for any orientations your subclass supports。ビューの自動サイズ変更プロパティが正しく構成されている場合は、それだけで済みます。ただし、UIViewControllerクラスは、必要に応じて追加の動作を実装するための追加のフックを提供します。一般に、View Controllerを子ViewControllerとして使用する場合は、すべてのインターフェイスの向きをサポートする必要があります。

このリンクはあなたに役立つかもしれませんhttp://www.cocos2d-iphone.org/forum/topic/40721 上記のリンクからいくつかの興味深いコメントがあります->Try to override the shouldAutoRotate method on the rvc, and put the conditional there. As far as I have tested, the shouldAutoRotateToInterfaceOrientation isn't called on iOS6 even with all fixes applied, so I was forced to override several more methods.

フィードバックをお願いします、ありがとう:)

于 2012-11-14T02:55:51.690 に答える