如何让我的iPhone应用程序以横向模式启动?

时间:2012-02-09 23:24:47

标签: iphone ios landscape uiinterfaceorientation portrait

我的应用程序已修复为横向模式,但在viewDidLoad()甚至viewWillAppear()期间,仍会返回以下纵向尺寸:

self.view.bounds.size.width = 320.00
self.view.bounds.size.height = 480.00

直到viewDidAppear()才会产生实际的景观尺寸。

self.view.bounds.size.width = 480.00
self.view.bounds.size.height = 320.00

我发现这很奇怪。 为什么会这样?!?我该如何解决这个问题?

1 个答案:

答案 0 :(得分:3)

在您应用的info.plist文件中,指定密钥:

 UISupportedInterfaceOrientations

左右横向的值:

enter image description here

修改

原始plist代码应如下所示:

    <key>UISupportedInterfaceOrientations</key>
    <array>
        <string>UIInterfaceOrientationLandscapeLeft</string>
        <string>UIInterfaceOrientationLandscapeRight</string>
    </array>

修改2

您还需要此键来确定状态栏的初始方向:

 <key>UIInterfaceOrientation</key>
 <string>UIInterfaceOrientationLandscapeRight</string>

此外,您需要确保视图控制器的全部(标签栏,导航栏,常规视图控制器)实现

 shouldAutorotateToInterfaceOrientation

并返回横向(左或右)值。

以下是关于此主题的Apple文档文章:

Technical Note TN2244

最后,这里有一些关于这个主题的其他SO帖子: post 1post 2.