1

我目前正在开发一个适用于 iOS 5 和 iOS 6 的应用程序。除了 1 之外,我的大多数视图都是纵向的。

RotationNavigationController : MainUINavigationController覆盖supportedInterfaceOrientationshouldAutorotate

PageViewController:推入 RotationNavigationController 并仅以纵向显示。

ImageViewController:在 PageViewController 之后推送。用 显示UIInterfaceOrientationMaskAllButUpsideDown

这是我ImageViewControllerViewDidLoad

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

当我popViewController从横向的 ImageViewController 中返回时,我也以横向模式返回到 PageViewController,而 PageViewController 仅支持纵向。

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

有没有办法让 PageViewController 保持纵向?

4

1 回答 1

0

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

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

- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation
{
    return UIInterfaceOrientationPortrait;
}
于 2012-11-30T13:49:36.627 回答