1

我有一个由登录名、3 个表和一个图像组成的应用程序。

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

有没有办法做到这一点?

4

3 回答 3

5

对于以前的控制器:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation {
if (UIInterfaceOrientationIsPortrait(toInterfaceOrientation)) {
    return YES;
}
return NO;}
于 2010-09-11T09:08:59.343 回答
0

如果之前的视图控制器只支持纵向(参见 参考资料shouldAutorotateToInterfaceOrientation:),那么它应该会自动旋转。

如果以前的视图控制器支持横向,但如果它最初是纵向的,您希望它旋转到纵向,您可以通过更改shouldAutorotateToInterfaceOrientation:导航返回时返回的内容来强制它。我不推荐这个;它是不一致的 UI(而且要弄清楚正在发生什么导航有点乏味)。

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

于 2010-07-22T13:12:25.607 回答
0

在您的表格视图控制器中覆盖shouldAutorotateToInterfaceOrientation:并仅返回您想要的方向。

这实际上可能不会切换回方向,因此如果仅此一项不起作用,您可能必须setStatusBarOrientation:animated:UIApplication表视图控制器viewWillAppear:viewDidAppear:方法中调用。

于 2010-07-22T13:14:55.827 回答