IOS 设备方向卡在纵向模式,没有横向

Posted

技术标签:

【中文标题】IOS 设备方向卡在纵向模式,没有横向【英文标题】:IOS Device Orientation Stuck at Portrait mode, no Landscape 【发布时间】:2012-04-27 11:57:01 【问题描述】:

我正在使用 Xcode 4.3.2 和 iPad 模拟器 5.1

我真的需要一些帮助,我的应用卡在纵向模式。

当我旋转模拟器时 我试过在项目设置下查看并检查这些: 纵向、倒置、横向左侧和横向右侧。

我在视图控制器中也有这些方法:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation

    return YES;

有人可以帮忙吗?

【问题讨论】:

当您移植到 ios 6 时,您需要额外的代码:***.com/questions/12565693/… 【参考方案1】:

在项目设置或*.plist 文件中检查您的支持方向。此外,如果您使用UITabBarController 或其他,您的所有控制器都必须支持所有方向!

【讨论】:

我已经在项目设置和 plist 中确保所有方向都已启用。这是一个简单的单视图应用程序“Hello World”应用程序。你是什​​么意思?对不起,我是一个尝试学习 Xcode 的初学者.. 按方向名称左侧的“+”按钮并选择列表之一。再一次,直到你拥有所有 4 个方向。没关系,它是什么应用之王。 好的。同样,您只有 AppDelegateViewController 类,没有更多了吗?在项目的设置中,所有方向都已启用,并且在 ViewController 类中,您有 shouldAutorotateToInterfaceOrientation: 方法,该方法返回 YES?如果这一切都是真的,我不知道,可能会导致什么问题。您可以在设备上查看您的应用吗? 感谢您帮助我。我查看了设置和方法,它们存在。是的,我只有 AppDelegate.h、AppDelegate.m、ViewController.h 和 ViewController.m。在 MainStoryboard.storyboard 上有 2 个视图控制器和一个导航控制器和一个按钮。我还没有开发者帐户,所以我无法测试它。该应用程序仍然只支持纵向。继承人的项目:mediafire.com/download.php?898z24aauv2e064 也许我在这里遗漏了一些明显的东西? 老实说,我从未使用过故事板 :) 所以等等,我会试着弄清楚。【参考方案2】:

使用 cmd+shift+f 并输入 - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation

如果您希望所有方向都支持,请确保所有这些都返回 YES,对于不支持的方向,请确保返回 NO

【讨论】:

谢谢,唯一的文件是 ViewController.m,它已经设置为返回 YES。仍然有这个问题..继承项目:mediafire.com/download.php?898z24aauv2e064(一个简单的“hello world”视图控制器)【参考方案3】:

确保您只显示一个控制器。当我有多个视图同时显示不同的控制器时,我已经看到了这个问题。

【讨论】:

这是一个单视图控制器应用程序? 状态栏是否旋转?在单个视图应用程序中,您可以有多个子视图。如果他们有自己的控制器,你就会遇到这个问题。状态栏会旋转,但根控制器不会旋转。 iOS 栏总是与模拟器上的主页按钮相反。我认为这是问题所在?但我不知道从哪里开始修复它,你能帮忙吗?顺便说一句,这是故事板的截图:imgur.com/Wuhfn 有人有解决方案吗?我仍然无法自动旋转这个 hello world 应用。请问?【参考方案4】:

是的,我遇到了同样的问题,这里的其他答案并没有解决我的问题。我发现我必须选中所有相关视图中的“Resize View from NIB”框

请参见下面的屏幕截图(虽然显示的是稍旧的 XCode 版本)。

【讨论】:

以上是关于IOS 设备方向卡在纵向模式,没有横向的主要内容,如果未能解决你的问题,请参考以下文章

AS3 - 仅 iOS 强制横向模式?

IOS 6强制设备方向为横向

iOS 5 中的 iPad 方向问题

iOS:处理方向更改而不在视图控制器上启用横向模式

当 iphone 设备方向朝上/朝下时,我可以判断它是横向还是纵向?

如何设置横向模式或纵向模式的应用程序控件?