将纵向视图控制器推到横向视图控制器上?

时间:2012-10-01 16:18:51

标签: iphone objective-c ios xcode

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

2 个答案:

答案 0 :(得分:2)

KDaker的答案是正确的,但您可以考虑的另一个选择是,当您的方向不符合您的要求时,是否可以限制导航。这不一定是个好主意,但有些情况下它可以很好地运作。例如,如果您有一个视频,当旋转到横向时,该视频变为全屏并覆盖您的导航后退按钮,直到它返回到肖像。

答案 1 :(得分:1)

iOS 5中的

和之前的任何内容都无法“强制”从一个视图到另一个视图的方向。您只能支持项目的一个方向,但允许自动旋转。因此,在您的情况下,您只能允许自动旋转并等待用户旋转设备。

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

- (NSUInteger)supportedInterfaceOrientations

- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation

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

希望这会有所帮助。