首页 文章

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

提问于
浏览
2

我搜索了其他现有帖子,但没有一个满足我的要求 .

这是我面临的问题,

  • 我的应用程序支持模式,横向和纵向 .

  • 但我的第一个屏幕仅支持横向,因此应用必须从横向开始 .

  • 我已将支持的Orientation设置为所有4个选项

  • 我已将初始界面方向设置为横向(左主页按钮)

  • 在第一个屏幕的视图控制器中,我定义了以下内容

  • (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
    return(interfaceOrientation!= UIInterfaceOrientationPortrait);
    }

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

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

谢谢Naveen

编辑:

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

这不是重复的问题,仅适用于iPhone或iPad的横向模式

Landscape Mode ONLY for iPhone or iPad

我不希望我的应用程序仅在横向,我只希望我的应用程序的第一个屏幕只在横向 .

3 回答

  • 0

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

    • 要设置首次启动应用时支持的 initial 方向,请使用目标的"Supported Device Orientations"设置 .
      enter image description here
      并使用适当的shouldAutorotateToInterfaceOrientation代码备份,就像您已经完成的那样 .

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

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

  • 5

    我实现了问题的解决方法,它解决了,

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

    在实现中添加了以下方法

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

    现在它按预期工作了 .

  • 1

    这是一个SO link,希望能够回答有关如何在横向模式下启动应用程序的问题 .

相关问题