我有一个应用程序,包括登录,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:
方法。