这个话题之前已经出现过(iPad modal view controller 在纵向中起作用,即使它是横向的)但是我还没有找到一个明确的答案——所以我不知道这是否是重复的。
在新的单视图项目中,我在 xcode 中将主视图设置为横向:
并且 Property Inspector 确认了这一点(以及视图在情节提要中的显示方式):
并且 ViewController 的方向属性设置为横向:
然而,当我在“viewDidLoad”中检查视图框架时,它会报告纵向模式:
- (void)viewDidLoad
{
[super viewDidLoad];
CGRect theRect = self.view.frame;
NSLog(@" frame %f %f %f %f", theRect.origin.x,
theRect.origin.y,
theRect.size.width,
theRect.size.height);
}
2012-08-26 16:42:45.045 测试 [2320:f803] 单元格 0.000000 20.000000 768.000000 1004.000000
我还在 shouldAutorotateToInterfaceOrientation 中强制横向:
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return UIInterfaceOrientationIsLandscape(interfaceOrientation);
}
我以前遇到过很多次,不得不将框架显式设置为横向,但我从来不明白为什么所有故事板设置都没有效果。
我在这里缺少一些基本的东西吗?