我正在iPad模拟器上测试一个应用程序,希望该应用程序能够在模拟器的当前位置启动,但每次运行该应用程序时,模拟器都会旋转到纵向模式。
有没有办法停止这种行为?
谢谢。
= = = =
最后一次编辑:我现在发现,如果在shouldAutorotateToInterfaceOrientation函数中返回NO,则问题会停止。但这是不合理的,因为shouldAutorotateToInterfaceOrientation应该将界面旋转以匹配iPad的位置,而不是相反。
在模拟器中运行GHUnit测试应用程序时,我遇到了这个问题。我通过将以下内容添加到info.plist
文件中来解决它:
<key>UISupportedInterfaceOrientations~ipad</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationPortraitUpsideDown</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
如果您使用Xcode的plist编辑器进行编辑,请确保已开启“显示原始键/值”选项。
一旦将模拟器设置为横屏,只要不退出模拟器,它就会一直保持在横屏状态。您可以重新运行应用程序,它将以横屏模式启动(好吧,除了内部初始状态为竖屏)。
之前没有尝试过...但是也许如果您通过添加
<key>UIInterfaceOrientation</key> <string>UIInterfaceOrientationPortrait</string>
更改.plist文件,我知道它可以在iPhone上运行。
我想我明白了!
如果你关闭模拟器(例如按下Cmd+Q),那么它总是以竖屏模式启动。
但是,如果你通过在模拟器上按下主页按钮来关闭应用程序,那么它会记住下次启动应用程序时的最后一个方向。
确认一下,Mike,我同意你上面说的一切,但你似乎可能从错误的角度来看待它。
iPad 的关键之一(根据苹果公司)是应用程序在任何方向上都应该是完全可用的。如果您阅读苹果公司有关如何充分利用 iPad UI 的说明书,它在那里详细介绍了这一点。
如果您使用“cmd”+左/右箭头,您应该能够定位模拟器。这将使您能够模拟用户在与您编码不符的方向上启动应用程序时所经历的情况。
我建议您撤销您所做的代码修改(shouldAutorotateToInterfaceOrientation - NO),并将您的应用程序编码为可以在任何方向上显示。如果您必须只编写一个方向,则我怀疑用户将被迫旋转设备以纠正问题。
我知道您渴望测试您的横向应用程序,但我不知道 iPad 模拟器是否可以强制以横向方式启动,除非您提到的解决方法,就像您已经建议的那样,这样做没有意义。我怀疑您只能使用“cmd”+“左/右”箭头。