0

UISplitViewControllerの上にモーダルに表示されるログインビューとして使用しているUIViewControllerがあります。ユーザーが正常にログインすると、モーダルビューは閉じられます。分割ビューコントローラーのマスタービューコントローラーには、ログアウトするための左バーボタン項目があります。ログアウトボタンをタップすると、ログインビューコントローラが再びモーダルに表示されます。この時点でユーザーがデバイスを回転させると、モーダルログインビューは閉じられます。

これをどうやって捕まえるのかわからない。ログインビューコントローラのviewWillDissappearにブレークポイントを設定すると、システムAPIのみが呼び出されます。私は何も書きませんでした。

問題を再現するサンプルアプリはここにあります:http://d.pr/f/c6oG

再現手順:添付のアプリをポートレートモードで起動します。ログインボタンをタップします。マスターボタンをタップします。ログアウトをタップします。デバイスを左または右に回転させます。モーダルビューは閉じます。

期待される結果:添付のアプリをポートレートモードで起動します。ログインボタンをタップします。マスターボタンをタップします。ログアウトをタップします。デバイスを左または右に回転させます。モーダルビューは却下されません。

実際の結果:モーダルビューは、上記の再現手順を完了した後、デバイスを回転させると閉じます。

レーダーのバグ#12585564も埋めました。

何か案は?前もって感謝します!

4

2 に答える 2

2

ログインビューコントローラは、マスターまたは詳細ビューコントローラではなく、分割ビューコントローラから提示する必要があります。

于 2012-10-26T23:41:53.533 に答える
0

探していたものとは異なりますが、DetailViewControllerでsplitViewController:shouldHideViewController:inOrientation:をオーバーライドすることになりました。その後、問題は発生しません。

設定アプリと同様に、デバイスが回転したときにマスタービューコントローラーが画面に表示されたままになるのが好きです。

于 2012-10-29T17:27:15.903 に答える