5

有谁知道如何旋转 iOS 模拟器(6.0 及更高版本)?我已经搜索过,但对此一无所获。

我试图通过代码(而不是手动)来做到这一点,但如果它可以通过脚本来完成,那么它必须从代码中运行。这甚至可以做到吗?需要一些建议。

4

2 回答 2

6

将 Supported interface orientations 的条目添加到 Tests 目标(或任何合适的目标),如下所示:

目标设置

只要唯一的条目是横向条目,它将以横向模式运行。

编辑:
如果我误解了你对测试的评论并且你没有运行单元测试,你可能不想继续改变你的主要目标的方向。在这种情况下,您可以复制您的主要目标并在那里更改方向。

编辑:
有一种未记录的方法可以强制代码旋转。虽然这适用于测试,但如果您在提交的应用程序中使用它,它可能会导致您的应用程序被拒绝。

[[UIDevice currentDevice] setOrientation:UIInterfaceOrientationLandscapeRight animated:YES];

只需在需要使用此方法的任何地方包含此类别即可。

@interface UIDevice (MethodsThatAppleWillHitMeWithTheBanStickForUsing)
    -(void)setOrientation:(UIInterfaceOrientation)orientation animated:(BOOL)animated;
    -(void)setOrientation:(UIInterfaceOrientation)orientation;
@end
于 2013-03-26T16:32:37.360 回答
0

好吧,您必须检查几个步骤才能使所有方向都在 iOS6 中正常工作。即使其中一个丢失,它也不会起作用。

  1. 正如 Lance 所说,是的,您必须为 iphone 或 ipad 设置支持的方向。

  2. 将此代码写入要为其设置旋转的控制器中。

    -(NSUInteger)supportedInterfaceOrientations { return UIInterfaceOrientationMaskAll; }

    -(BOOL)shouldAutorotate { 返回 YES; }

根据您想要的方向更改UIInterfaceOrientationMaskAll 。

  1. 如果您在项目中使用导航控制器,请确保正确设置它!

你不应该得到这个错误......(应用程序应该在应用程序启动结束时有一个根视图控制器)

正确执行这些步骤,轮换将为您工作。

于 2013-03-26T17:35:18.230 回答