iPad应用程序始终以纵向模式启动

时间:2012-01-04 08:06:01

标签: objective-c orientation startup

这可能是一些线程的重复,但我发现解决这个问题的解决方案对我不起作用。我的应用程序总是以纵向模式开始,即使我在APP-Info.PList中有下一行:

    <key>UISupportedInterfaceOrientations~ipad</key>
<array>
    <string>UIInterfaceOrientationPortrait</string>
    <string>UIInterfaceOrientationPortraitUpsideDown</string>
    <string>UIInterfaceOrientationLandscapeLeft</string>
    <string>UIInterfaceOrientationLandscapeRight</string>
</array>

谢谢你的帮助

[编辑1]更清楚地解决问题

应用程序实际上是以横向模式启动的,但是当我在rootViewController的viewDidLoad方法中记录屏幕大小时,它会为我提供纵向模式的大小。这是实际问题,因为我想在主视图中添加一个子视图,其大小取决于屏幕的方向。我希望我更清楚。

3 个答案:

答案 0 :(得分:3)

您的AppDelegate具有shouldAutorotateToInterfaceOrientation:方法。如果返回YES,则允许任何方向。 试试这个:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation{
    // Returns only Landscape Mode
    return UIInterfaceOrientationIsLandscape(interfaceOrientation);
}

希望这有帮助

答案 1 :(得分:0)

确保您没有手动旋转uiview,如果没有检查xib,尺寸检查器的属性(我可能正在旋转但不适应新尺寸)

答案 2 :(得分:0)

我有同样的问题,这解决了我:

    self.view.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;