iOS应用程序以横屏模式启动

12

我有一个奇怪的问题。我的应用程序始终在横屏模式下启动。如果我在模拟器中打开它,它会自动旋转到横屏模式。当我在 iPhone 上启动它时,它首先以横屏模式启动,然后很快就会旋转到正确的位置。我已经在 .plist 中将“初始界面方向”设置为纵向,但这没有改变任何东西。

4个回答

31

我遇到了同样的问题。如果你进入支持的界面方向设置页面,会看到以下内容:

Item 0 ...

Item 1 ...

等等。

如果你编辑这个列表,让竖屏模式(底部home键)成为第一项,那么你的应用程序将以竖屏模式打开。你仍然可以支持其他方向作为1到3项。


2
谢谢!这很简单,但我花了很多时间在这上面。 - Jaroslav
谢谢,这刚好解决了我对我的应用程序有点烦恼的问题。 :-D - Baza207
请注意,虽然这是正确的修复方法,但这是苹果方面的退步。从文档中可以看出:此方法是一个覆盖,通过返回UIInterfaceOrientationPortrait、UIInterfaceOrientationLandscapeLeft和UIInterfaceOrientationLandscapeRight方向的YES来替换默认行为。 - zaph
谢谢!我已经尝试很长时间想象出问题在哪里。 - rmvz3
3
在我的iOS 8(iPad Mini)上这并没有起作用。我的解决方法是 -(BOOL) shouldAutorotate { return YES; } - (NSUInteger)supportedInterfaceOrientations { return UIInterfaceOrientationMaskPortrait; }。它可以防止你的应用程序在启动时进入横屏模式。 - Adnan
很好的答案,解决了我的问题! - Alex Cio

0

cancel orientations in plist

如果你只支持横屏,请编写代码

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return UIInterfaceOrientationIsLandscape(interfaceOrientation);
}

这对我有效。


也许您已经将 UIInterfaceOrientation 设置为“支持的界面方向”中的第0项。看起来这似乎与所问的问题不符。 - Alex Cio

0
在XCode 6.4中,我刚刚取消了所有4个设备方向的勾选,并从目标应用程序的“部署信息”中重新选择它们,以纵向开始。显然,在此处检查它们的顺序控制了plist文件中值的顺序。

0

前往您支持的设备方向并检查是否选择了纵向模式


所有模式都已选择(实际上我需要它们全部)。 - Jaroslav
那么这个方法怎么样呢?
  • (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { // 支持的方向返回 YES return YES; }
- Bonnie

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接