1

我的 iPhone 应用程序有一个非常奇怪的行为。

该应用程序应以任何方向运行。Plist 键已全部设置并shouldAutorotateToInterfaceOrientation始终返回YES

此外,它是一个仅限 iPhone 的应用程序,但目前我只能在 iPad 上测试它。

现在,当我以纵向模式启动它时,一切正常。但是,如果它以横向模式启动,则视图不会收到任何触摸输入,按钮和手势根本不起作用。只要窗口保持不变,就会发生这种情况。如果我旋转应用程序,然后将其旋转回横向,它就可以工作。此外,如果我按下 iPad 上的“2x”按钮,该应用程序也开始正常工作。

我检查了所有的视图框架,一切都正确绘制。

在模拟器中运行时,它会忽略初始方向并以纵向模式绘制自身。

可能是什么原因以及如何解决?

4

1 回答 1

4

我发现这是 iOS 6 独有的(你会在运行 iOS 6 的 iPad 甚至 iOS 6 iPad 模拟器上看到这一点,但在运行 iOS 5 的设备/模拟器上不会看到)。如果您删除应用程序列表中“支持的界面方向”下的所有条目,这个问题似乎就消失了。或者,如果您在目标设置的摘要屏幕上选中“状态栏”设置的“应用程序启动期间隐藏”选项,这也可以修复它:

在此处输入图像描述

为什么这些中的任何一个都应该修复错误是没有意义的,但它们似乎可以。

如果您使用“支持的方向”调整,在 iOS 6 中,您仍然可以通过编程方式控制允许的界面方向supportedInterfaceOrientations(在 iOS 5 中,您仍然可以使用shouldAutorotateToInterfaceOrientation:)。

于 2012-11-26T04:07:54.867 回答