【发布时间】:2012-05-13 09:39:01
【问题描述】:
我正在为 Zoo 制作一个应用程序,它非常简单,但是因为起初我尝试使用代码并使用 xcode 3.2 来制作它,但我遇到了一些问题,所以我从 Xcode 4.3 开始并正在尝试它与故事板。
我的问题是,如何将所有应用程序置于横向模式?我的意思是我已经在 infoplist 中设置了:初始界面方向,然后在 .m 文件中我更改了以下内容:
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return UIInterfaceOrientationLandscapeRight;
}
但它不起作用。当我添加一个 tabbarcontroller 并链接它时,所有的视图都变成了纵向的。如果我旋转第一个,它确实给了我风景,但所有其他人总是纵向的,那我该怎么办?
【问题讨论】:
-
使用
UITabBarController时,其中所有viewControllers,必须支持你想要的方向。这意味着,他们都必须为景观返回 YES。你有考虑到这一点吗? -
@Canopus 所说的,以及 UINavigationController 包含的视图控制器也是如此。
-
实际上我只有一个类,所有内容都由故事板链接,所以我是否也必须为标签栏控制器创建一个类??我的意思是它工作正常,只是界面方向的这个问题。
-
感谢大家的关注。
-
如果您的所有视图控制器都在故事板中,并且它们都链接到
UITabBarController(如@Till 所说,包括UIViewControllers 和UINavigationControllers),那么是的,您需要将它们全部子类化,以便覆盖-shouldAutorotateToInterfaceOrientation:方法并为支持的方向返回 yes。
标签: iphone ios xcode4 uiinterfaceorientation uistoryboard