我有一个由登录名、3 个表和一个图像组成的应用程序。
您可以将图像旋转到横向模式,但我想要做的是当按下“后退”按钮并且应用程序返回到前一个屏幕时,我是自动旋转以提供纵向视图的应用程序。
有没有办法做到这一点?
我有一个由登录名、3 个表和一个图像组成的应用程序。
您可以将图像旋转到横向模式,但我想要做的是当按下“后退”按钮并且应用程序返回到前一个屏幕时,我是自动旋转以提供纵向视图的应用程序。
有没有办法做到这一点?
对于以前的控制器:
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation {
if (UIInterfaceOrientationIsPortrait(toInterfaceOrientation)) {
return YES;
}
return NO;}
如果之前的视图控制器只支持纵向(参见 参考资料shouldAutorotateToInterfaceOrientation:
),那么它应该会自动旋转。
如果以前的视图控制器支持横向,但如果它最初是纵向的,您希望它旋转到纵向,您可以通过更改shouldAutorotateToInterfaceOrientation:
导航返回时返回的内容来强制它。我不推荐这个;它是不一致的 UI(而且要弄清楚正在发生什么导航有点乏味)。
有多种方法可以设置视图控制器界面方向(-[UIDevice setOrientation:]
将尝试触发自动旋转),但随后您将进入私有 API 和潜在拒绝的领域。
在您的表格视图控制器中覆盖shouldAutorotateToInterfaceOrientation:
并仅返回您想要的方向。
这实际上可能不会切换回方向,因此如果仅此一项不起作用,您可能必须setStatusBarOrientation:animated:
在UIApplication
表视图控制器viewWillAppear:
或viewDidAppear:
方法中调用。