1

私のアプリケーションには、ナビゲーション コントローラーを含むタブ バーがあります。

横向きに回転するときは、次のように横向きビューをナビゲーション コントローラー スタックにプッシュして、別のビューに切り替えます。

    - (void) orientationDidChange: (NSNotification *) notification {    
if (self.tabBarController.selectedViewController == self.navigationController) {
    if (self.navigationController.topViewController == self && 
        [[notification name] isEqualToString: kOrientationLandscape]) {
        [self.navigationController pushViewController: landscapeViewController animated: NO];
    } 

    if (self.navigationController.topViewController != self && 
        [[notification name] isEqualToString: kOrientationPortrait]) {
        [self.navigationController popViewControllerAnimated: NO];
    }
}

}

これは正常に機能しますが、縦向きに戻すと、ビューが正しく表示され、ナビゲーション バーの高さと推測される分だけ「ジャンプ」します。ビューの上部は、ナビゲーション バーの後ろに隠されます。

通常の方法で別のコントローラーを上に押してから、縦向きのビューに戻すと、正しく表示されます。これは、横向きから元に戻すときにのみ発生します。

また、シミュレーターでは問題なく動作しますが、iPhone では動作しません。私は2.0用にビルドしていますが、それ以降のバージョンでも同じようです。

何か案は?

乾杯アッシュ

4

0 に答える 0