バックグラウンド
私は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を使用しています。