使用NavigationController进行iOS 6定位

时间:2012-11-28 11:40:39

标签: ios uinavigationcontroller ios6 orientation

我目前正在开发适用于iOS 5和iOS 6的应用程序。 除了1之外,我的大部分观看仅在纵向方向上进行。

RotationNavigationController :覆盖UINavigationControllersupportedInterfaceOrientation的主shouldAutorotate

PageViewController :在RotationNavigationController中推送,仅以纵向显示。

ImageViewController :在PageViewController之后推送。与UIInterfaceOrientationMaskAllButUpsideDown一起显示。

以下是ImageViewController ViewDidLoad

中的内容
- (void)viewDidLoad
{
   // currentMask is the value returned by supportedInterfaceOrientation
   [(RotationNavigationController*)self.navigationController setCurrentMask:UIInterfaceOrientationMaskAllButUpsideDown];
   [(RotationNavigationController*)self.navigationController setShouldAutorotate:YES];
}

当我在横向ImageViewController中popViewController时,我也会以横向模式回到PageViewController,而PageViewController只支持纵向方向。

当然,我将ImageViewController的viewWillDisappear中的蒙版重置为肖像。

PageViewController是否有办法保持纵向方向?

1 个答案:

答案 0 :(得分:0)

感谢您的链接emrys57。我在那里找到了解决方案,最后它非常简单:

在RotationNavigationController中,只需添加以下方法:

- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation
{
    return UIInterfaceOrientationPortrait;
}