iPad应用程序以横向模式启动

时间:2012-02-15 14:26:49

标签: ios ipad uiinterfaceorientation

我搜索了其他现有帖子,但没有一个符合我的要求。

这是我面临的问题,

  1. 我的应用程序支持模式,横向和纵向。
  2. 但我的第一个屏幕仅支持横向,因此应用必须以横向开始。
  3. 我已将支持的方向设置为所有4个选项
  4. 我已将初始界面方向设置为横向(左主页按钮)
  5. 在第一个屏幕的视图控制器中,我定义了以下
  6.   

    - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation

        {
            return (interfaceOrientation != UIInterfaceOrientationPortrait);
        }
    

    当我启动应用程序时,模拟器始终以纵向打开,我的视图在纵向模式下全部搞砸了,因为它仅针对景观设计。 切换到横向后,设备将保持此模式。

    任何人都可以帮我解决这个问题吗?

    由于 纳温

    已编辑:

      

    此信息可能会有所帮助,只有当我在Portrait中按住设备然后启动应用程序时才会遇到问题。

    这不是这个问题的重复,只适用于iPhone或iPad的风景模式

    Landscape Mode ONLY for iPhone or iPad

    我不希望我的应用只在横向,我只希望我的应用的第一个屏幕只在横向。

3 个答案:

答案 0 :(得分:5)

我做了一些我正在研究的具有相同要求的应用程序的实验,并提出了以下内容:

  1. 要设置首次启动应用时支持的初始方向,请使用目标的“支持的设备方向”设置。 enter image description here 也可以使用适当的shouldAutorotateToInterfaceOrientation代码备份,就像您已经完成的那样。

  2. 对于后续屏幕,只需使用shouldAutorotateToInterfaceOrientation代码来确定要支持的方向。即使您仅为支持的设备方向指定了横向模式,shouldAutorotateToInterfaceOrientation也会获胜。 :)

  3. 我认为这种方法比使用额外的虚拟VC更清洁。

答案 1 :(得分:1)

我为问题找到了解决方法并解决了,

我创建了一个虚拟视图控制器并添加为Window的根视图控制器。

在实施中添加了以下方法

    -(void)viewDidAppear:(BOOL)animated
    {
        WelcomeScreen *welcomeScreen = [[[WelcomeScreen alloc] initWithNibName:@"WelcomeScreen" bundle:nil] autorelease];
        [self presentModalViewController:welcomeScreen animated:NO];
    }

现在它按预期工作了。

答案 2 :(得分:0)

以下是SO link,希望能够回答有关如何在横向模式下启动应用的问题。