【问题标题】:iPad app to start in landscape modeiPad 应用程序以横向模式启动
【发布时间】:2012-03-06 21:34:28
【问题描述】:

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

这是我面临的问题,

  1. 我的应用同时支持模式、横向和纵向。
  2. 但我的第一个屏幕只支持 Landscape ,所以应用必须以 Landscape 启动。
  3. 我已将支持的方向设置为所有 4 个选项
  4. 我已将初始界面方向设置为横向(左主页按钮)
  5. 在第一个屏幕的视图控制器中,我定义了以下内容

-(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation

    {
        return (interfaceOrientation != UIInterfaceOrientationPortrait);
    }

当我启动应用程序时,模拟器总是以纵向模式打开,而我的视图在纵向模式下完全混乱,因为它只为横向设计。 切换到横向后,设备保持在此模式。

谁能帮我解决这个问题?

谢谢 纳文

已编辑:

此信息可能会有所帮助,仅当我将设备保持为纵向然后启动应用程序时才会遇到问题。

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

Landscape Mode ONLY for iPhone or iPad

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

【问题讨论】:

  • 尝试在从主屏幕而不是从 Xcode 启动之前将您的模拟器更改为横向。尝试在实际设备上启动它,这是启动方式的黄金标准。
  • 无益的(但 Apple 期望的)回应是:让第一个屏幕在所有方向上都能正常工作。
  • 如果您不支持 ipad 应用程序的所有方向(始终),您将面临 Apple 不批准您的应用程序的风险。

标签: ios ipad uiinterfaceorientation


【解决方案1】:

我对我正在开发的具有相同要求的应用进行了一些试验,并得出以下结论:

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

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

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

【讨论】:

  • 这对我不起作用,它会为我的应用程序中的每个视图禁用这些方向。我的应用可以在所有方向上运行,除了一两个很少使用的视图,其中的内容只适合一种方式。
【解决方案2】:

我解决了这个问题,它解决了,

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

在实现中添加了以下方法

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

现在它按预期工作了。

【讨论】:

    【解决方案3】:

    这里是SO link,希望能回答您关于如何以横向模式启动应用的问题。

    【讨论】:

    • 该链接对只有横向的应用程序有帮助,但我的应用程序可以在所有模式下工作,除了第一个屏幕只能在横向工作。 (无论如何感谢您的回答)。
    • 如果您将您的应用设置为 UIInterfaceOrientationLandscapeLeft 和 UIInterfaceOrientationLandscapeRight,您是说在用户经过初始横向视图之后,如果您将后续视图控制器配置为支持应用不支持的任何方向在肖像模式下工作?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多