7

これはかなり長い間私を悩ませてきました、そして私はこれについて多くの研究をしましたが、答えを見つけることができませんでした. ここに質問を投稿するのは初めてです。間違いがあれば訂正/許してください。

環境:iPad、iOS 6.0

問題: 回転後にベース モーダル ビューがフル スクリーンに変更されます。

説明: 現在モーダル ビュー コントローラーを表示しているフル スクリーン アプリケーションを実行しています。表示中のモーダル ビューから、次のようにして別のモーダル ビューを表示します。

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

2 番目のビューが表示されている間に、iPad デバイスを回転させます。ベース (最初) のモーダル ビューは全画面表示になり、最上位 (2 番目) のモーダル ビューは formSheet スタイルのままです。(正しく回転します)

これは、ナビゲーション コントローラーにモーダル ビューを追加することで修正できますが、モーダル ビューのままにしたいと考えています。

誰でも修正を知っていますか?ここにいるこの人が同じ問題を抱えていると思います: ios 6回転後のモーダルビューサイズが正しくありません

ところで、iOS 5 ではすべて正常に動作します。Apple は iOS 6 で回転の動作方法を変更しました。ありがとう、-peter

4

2 に答える 2

4

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

このような:

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

これにより、iPad の画面を回転した後のベース モーダル ビューのサイズ変更が解決されます。

Apple Devフォーラムの人々によって最初に回答されました。

于 2013-02-20T21:12:02.860 に答える
1

私はまったく同じ問題を抱えていて、iOS 6 でコードを使用しました: 回転が魅力のように機能した後、親モーダルの modalPresentationStyle は無視されました

于 2013-01-24T06:40:57.200 に答える