これは、Filip が言及している問題かもしれません。
しかし、実際のハードウェアで気付いたもう 1 つの問題は、たとえ iOS 6 が関係していなくても、順番が少し違うことです。
独自の回転を完全に処理する前にビュー コントローラーからモーダル ビュー コントローラーを使用しようとすると、モーダル ビューコントローラーは縦長モードで表示されます。最初のビュー コントローラーは、イベントが処理されるまで、自身の回転を完全には処理していません。
つまり、ビュー コントローラー ( などviewWillAppear
) の初期のイベントからモーダル ビュー コントローラーを提示しようとすると、常に縦長モードで表示されます。
これを修正するには、View Controller をすぐに表示するのではなく、ブロックを使用してメイン ループにスケジュールします。
ビュー コントローラーを呼び出す行を次のように変更します。
[self performSegueWithIdentifier: @"firstRun" sender: self];
に:
dispatch_async(dispatch_get_main_queue(), ^{
[self performSegueWithIdentifier: @"firstRun" sender: self];
});
別の方法を使用して新しいビュー コントローラーを表示する場合は、同じ方法を試してくださいdispatch_async
。メイン キューにラップして、後で実行できるようにします。