2012-10-24 3 views
7

これはかなり長い間私を悩ませていましたが、これについて多くの研究を行いましたが、答えを見つけることができませんでした。私が最初に質問を投稿したとき、私が間違いを犯すと私は正しい/許してください。複数のMODAL VIEWコントローラが、回転後にフルスクリーンに基本モダルを変更する

環境:iPadで、iOSの6.0

問題:回転後のフルスクリーンへの基本モーダルビューの変更。

概要現在、モーダルビューコントローラを表示しているフルスクリーンアプリケーションがあります。

vc.modalPresentationStyle = UIModalPresentationFormSheet; 
[self presentModalViewController:vc animated:YES]; 
//[self presentViewController:vc animated:YES completion:NULL]; 

を2番目のビューが表示されている、と私はiPadのデバイスを回転させながら:示すモーダルビューから、私が行って、別のモーダルビューを表示します。基本(最初の)モーダルビューはフルスクリーンになり、最上位(2番目)のモーダルビューはformSheetスタイルのままになります。 (正しく回転する)

これは、navigationControllerにモーダルビューを追加することで解決できますが、私はモーダルビューで保持したいと思います。

修正プログラムはありますか? ios 6 Incorrect modal view size after rotation

ところで、すべてはAppleが、私は正確にしていた回転が

答えて

4

私はこの問題の解決策を見出しました。 UIModalPresentationCurrentContextを表示する前に、最後のモーダルビューの表示スタイルをUIModalPresentationCurrentContextに設定します。このよう

vc.modalPresentationStyle = UIModalPresentationCurrentContext。 [self presentModalViewController:vc animated:YES];

これは、iPad画面を回転した後の基本モーダル表示の変更サイズを解決します。

当初の回答者はApple Dev forumでした。

+0

FWIW、これはうまくいきましたが、これを子ビューコントローラ内に設定する必要がありました。私はpresentingVCからprepareForSegueで設定できませんでした。 – rooftop

関連する問題