【问题标题】:How can I Launch my application in Landscape?如何在 Landscape 中启动我的应用程序?
【发布时间】:2011-12-22 13:01:59
【问题描述】:

我想以横向启动我的应用程序,在应用程序启动后我想支持所有方向。我在 info.plist 中将“初始界面方向属性”设置为“横向(左主页按钮)”。

即使我将 iPad 置于横向模式,我的应用程序也会以纵向模式启动。我该如何解决这个问题?

谢谢,

阿克谢

【问题讨论】:

    标签: objective-c ipad


    【解决方案1】:

    默认情况下,plist 中的方向设置在 Xcode 4.x 中如下所示

    如下图改变顺序(或者根据你的需要,item 0 是应用默认启动的方向)

    【讨论】:

      【解决方案2】:

      您可以在应用的 Info.plist 文件中设置 UIInterfaceOrientation 以设置“初始界面方向”(在编辑 plist 时显示的键不显示原始值/键。

      看:http://developer.apple.com/library/ios/#documentation/general/Reference/InfoPlistKeyReference/Articles/iPhoneOSKeys.html

      其中指定: UI界面方向 | “初始界面定位” |指定应用程序用户界面的初始方向。有关详细信息,请参阅“UIInterfaceOrientation”。

      然后如果你没有设置 UILaunchImageFile 属性,它会显示默认的启动图像: “您将在 Info.plist 文件中包含 UILaunchImageFile~ipad 键并将其值设置为 MyiPadImage.png。然后您将在包中包含 MyiPadImage-Portrait.png 文件和 MyiPadImage-Landscape.png 文件以指定相应的启动图像。”

      【讨论】:

        【解决方案3】:

        您可以在 UIViewController 上实现 - (BOOL)shouldAutorotateToInterfaceOrientation:,并在设备处于横向位置时返回 true。

        然后,一旦你想支持所有方向,让:- (BOOL)shouldAutorotateToInterfaceOrientation: 通过在 UIViewController 中的 - (void)viewDidAppear: 之后设置一个布尔标志来做出适当的响应。

        有关如何实施 shouldAuto 的进一步阅读...请参阅my answer 以解决类似问题。

        【讨论】:

          【解决方案4】:

          如果您总是希望您的应用程序以横向启动,您应该从“支持的界面方向”(在 plist 中,或在项目设置 > 摘要(在 Xcode 4 中)或项目设置 > 常规(在 Xcode 5) 中。

          如果您希望稍后(发布后)提供肖像:

          在 iOS 5(及更低版本)中: 在你的根视图控制器中实现- (BOOL)shouldAutorotateToInterfaceOrientation: 以返回YES 用于您想要允许的任何方向(在这种情况下,UIInterfaceOrientationPortraitUIInterfaceOrientationLandscapeLeftUIInterfaceOrientationLandscapeRight。这将覆盖您不允许的任何界面方向在“支持的界面方向”中

          在 iOS 6(及更高版本)中: 在您的应用程序委托中,实现- (NSUInteger)application:supportedInterfaceOrientationsForWindow: 并返回UIInterfaceOrientationMask 用于我们希望在启动后允许的方向(在本例中为UIInterfaceOrientationMaskAllButUpsideDown)。然后,在根视图控制器中,实现- (NSUInteger)supportedInterfaceOrientations,返回应用程序当前状态下应该可用的任何方向。

          如果您需要一些示例代码或更多详细信息,可以查看有关主题的my blog post

          【讨论】:

            猜你喜欢
            • 2012-11-10
            • 2019-04-06
            • 2012-01-26
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多