在iPhone上使用导航控制器旋转视图

时间:2009-06-16 11:11:31

标签: iphone uinavigationcontroller rotation

我的应用程序有一个包含导航控制器的标签栏。

当我旋转到横向时,我通过将横向视图推到导航控制器堆栈上来切换到不同的视图,如下所示:

    - (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构建,但对于以后的版本来说似乎也是一样。

有什么想法吗?

干杯 灰

0 个答案:

没有答案
相关问题