如何在Landscape中启动我的应用程序?

时间:2011-12-22 13:01:59

标签: objective-c ipad

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

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

谢谢,

阿克沙伊

4 个答案:

答案 0 :(得分:1)

默认情况下,plist中的方向设置在Xcode 4.x中看起来像这样 enter image description here

如下所示更改订单(或根据您的需要,项目0将默认启动应用程序的方向)

enter image description here

答案 1 :(得分:0)

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

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

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

答案 2 :(得分:0)

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

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

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

然后,如果您尚未设置UILaunchImageFile属性,它将显示默认的启动图像: “你可以在你的Info.plist文件中包含UILaunchImageFile~ip键,并将其值设置为MyiPadImage.png。然后你会在你的包中包含一个MyiPadImage-Portrait.png文件和一个MyiPadImage-Landscape.png文件来指定相应的发布图片。“

答案 3 :(得分:0)

如果您始终希望您的应用以横向开始,则应从“支持的界面方向”(在plist中,或在项目设置>摘要(在Xcode 4中)或项目设置>中删除任何纵向方向。一般(在Xcode 5中)。

如果您希望稍后(启动后)可以使用Portrait:

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

中不允许的任何界面方向

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

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