3

まず、アプリを開いた後にiOS6でビューを回転させても問題はないということから始めましょう。この問題は、横向きでアプリを初めて起動したときにのみ発生します。新しいshouldAutorotateメソッドとsupportedInterfaceOrientationsメソッドはどちらも起動時に呼び出されますが、 willRotateToInterfaceOrientation:duration:のように、どの回転メソッドも呼び出されません。(shouldAutorotateは常にYESを返し、supportedInterfaceOrientationsは常にUIInterfaceOrientationMaskAllを返します)

iOS5では、起動時の横向きの「最初の」方向が自動的に処理されました。デバイスがiOS6でこの最初の横向き回転を呼び出さない理由の説明はありますか?(私がチェックしているビューコントローラーは、ウィンドウ/アプリデリゲートのルートコントローラーです)。

これについての助けと洞察を事前に感謝します。

4

2 に答える 2

2

viewWillLayoutSubviewsではなく メソッドを使用する必要がありwillRotateToInterfaceOrientation:duration:ます。その理由はwillRotateToInterfaceOrientation:duration:、多くの状況で呼び出されることが保証されていないためです。

これは、とりわけ iOS6 のリリース ノートに記載されています。

于 2012-10-15T15:09:41.300 に答える
2

インターフェイスが実際には回転していないため、メソッドが呼び出されていないと思います。

向きに基づいて何らかの設定を行いたい場合、View Controller のintefaceOrientationプロパティを使用することを考えたことはありますか?

于 2012-10-15T14:07:19.010 に答える