如何使用代码旋转iOS模拟器?

时间:2013-03-26 16:19:27

标签: objective-c xcode applescript

有谁知道如何旋转iOS模拟器(6.0及以上版本)?我已经搜索过,但没有发现任何内容。

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

2 个答案:

答案 0 :(得分:6)

为测试目标(或任何适合的目标)添加支持的接口方向的条目,如下所示:

Target Settings

只要条目是横向条目,它就会以横向模式运行。

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

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

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

只需在您需要使用此方法的地方添加此类别。

@interface UIDevice (MethodsThatAppleWillHitMeWithTheBanStickForUsing)
    -(void)setOrientation:(UIInterfaceOrientation)orientation animated:(BOOL)animated;
    -(void)setOrientation:(UIInterfaceOrientation)orientation;
@end

答案 1 :(得分:0)

您必须检查几个步骤才能使所有方向在iOS6中运行。即使其中一个缺失也不行。

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

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

    - (NSUInteger)supportedInterfaceOrientations {     return UIInterfaceOrientationMaskAll; }

    - (BOOL)shouldAutorotate {     返回YES; }

  3. 根据您想要的方向更改 UIInterfaceOrientationMaskAll

    1. 如果您在项目中使用导航控制器,请确保正确设置!
    2. 您不应该收到此错误...(应用程序在应用程序启动结束时应该有一个根视图控制器)

      正确执行这些步骤,轮换将对您有用。