在iPhone上将方向设置为纵向

时间:2010-07-22 12:58:20

标签: iphone xcode rotation screen-orientation autorotate

我有一个应用程序,包括登录,3个表,然后是图像。

你可以将图像旋转到横向模式,但我想要做的是当按下“后退”按钮并且应用程序返回到上一个屏幕时,我是一个自动旋转以提供纵向视图的应用程序。

有没有办法做到这一点?

3 个答案:

答案 0 :(得分:5)

对于之前的控制器:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation {
if (UIInterfaceOrientationIsPortrait(toInterfaceOrientation)) {
    return YES;
}
return NO;}

答案 1 :(得分:0)

如果前一个视图控制器仅支持纵向(请参阅shouldAutorotateToInterfaceOrientation:),则它应自动旋转。

如果前一个视图控制器支持横向,但如果它最初是纵向的,您希望它旋转为纵向,您可以通过更改导航回来时shouldAutorotateToInterfaceOrientation:返回的内容来强制它。我不推荐这个;这是不一致的用户界面(弄清楚导航是什么有点单调乏味。)

有多种方法可以设置视图控制器界面方向(-[UIDevice setOrientation:]将尝试触发自动旋转),但随后您将进入私有API和潜在拒绝领域。

答案 2 :(得分:0)

在表格视图控制器中覆盖shouldAutorotateToInterfaceOrientation:,只返回所需的方向。

这实际上可能无法切换回方向,因此,如果仅此方法不起作用,您可能需要在表格视图控制器的setStatusBarOrientation:animated:或{{1}中UIApplication上调用viewWillAppear:方法。