1

我正在尝试将仅纵向视图控制器推送到允许纵向或横向的控制器上。我遇到的问题是,如果用户处于横向模式并且我将新控制器推到它上面,它将保持横向模式并且看起来一切都搞砸了。当新的视图控制器被推上时,如何强制方向更改为纵向?

4

2 回答 2

2

KDaker 的回答是正确的,但您可以考虑的另一个选择是,当您的方向不是您想要的时,您是否可以限制导航。这不一定是一个好主意,但在某些情况下它可以很好地工作。一个例子是,如果您有一个视频,当旋转到横向时变成全屏并覆盖您的导航返回按钮,直到它返回到纵向。

于 2012-10-01T17:59:12.893 回答
1

在 iOS 5 和任何东西之前,你不能“强制”从一个视图到另一个视图的方向。您可以仅支持项目的一种方向,但随后允许自动旋转。因此,在您的情况下,您只能允许自动旋转并等待用户旋转设备。

在 iOS 6 中,他们改变了方向处理的工作方式,变得更加灵活。你现在有这些方法:

- (NSUInteger)supportedInterfaceOrientations

- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation

使用这些,您可以以您喜欢的任何方向呈现您的视图控制器,因为它在前一种方法中受支持。

希望这可以帮助。

于 2012-10-01T16:42:07.250 回答