这可能是一些线程的重复,但我发现解决这个问题的解决方案对我不起作用。我的应用程序总是以纵向模式开始,即使我在APP-Info.PList中有下一行:
<key>UISupportedInterfaceOrientations~ipad</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationPortraitUpsideDown</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
谢谢你的帮助
[编辑1]更清楚地解决问题
应用程序实际上是以横向模式启动的,但是当我在rootViewController的viewDidLoad方法中记录屏幕大小时,它会为我提供纵向模式的大小。这是实际问题,因为我想在主视图中添加一个子视图,其大小取决于屏幕的方向。我希望我更清楚。
答案 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;