1

バックグラウンド

私はiPad分割ビューアプリケーションを持っています.分割ビューはウィンドウのルートビューコントローラです.アプリのログイン画面が必要なので、次のように表示します: [self.splitViewController presentViewController:self.loginView animated:NO completion:nil];.ナビゲーションバーに固定されたマスタービューにポップオーバーがUIBarButtonItemあります.ログアウトするユーザー。これは gr8 で動作しています。

問題:

両方の向きをサポートする必要があるため、マスター ビューも縦向きモードで表示する必要があります。私が直面した最初の問題は、ユーザーが縦向きモードでアプリケーションからログアウトしたときに、マスター ビューが閉じられず、ログイン ビューが表示されることです。マスター ビューがまだ表示されているときに表示されます。左のバー ボタンのタップ イベントを次のように複製することで、これを修正できました。

[self.detailViewController.navigationItem.leftBarButtonItem.target performSelector:self.detailViewController.navigationItem.leftBarButtonItem.action]; 

これにより、2 つ目の問題が発生します。ログアウトすると、上記のスニペットによってマスター ビューが正しく閉じられ、ログイン ビューが表示されます。 splitview はまだ portarit ビューであると考えており、向きの変更は splitviewcontroller に反映されません。誰でもこの問題を解決するのを手伝ってくれますか?

私がこれまでに行ったこと

詳細ビューで更新された向きで明示的に呼び出そうとし-(void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)durationましたが、うまくいきませんでした。

アプリケーションの rootview コントローラーを、- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptionsこれが更新として機能することを期待して作成された同じ splitviewcontroller インスタンスにリセットしましたが、注意を払いませんでした。

ここからどこへ行けばいいのかわからない。重要な注意: 私は iOS 6.0を使用しています。

4

1 に答える 1