3

我有一个仅限景观的观点(两者)。它显示为模态视图控制器。

在 iphone 5(模拟器,我还没有尝试过设备)上,当视图显示时,它的大小为 320x480,而不是 320x568,并且左对齐。

但是......如果我将模拟器旋转到另一个横向,或者纵向并再次返回,它会正确自动调整大小并填满屏幕。

如果我确切知道要粘贴什么,我会粘贴代码……但是这里涉及的内容太多了,我不知道从哪里开始。

我所有的其他视图都可以很好地调整大小,但它们也都包含在 UITabbarControllers 或 UINavigationControllers 中。

4

1 回答 1

1

我对这个问题的短/粗/简单的解决方案只是将我的视图框架设置为主屏幕的边界。

[self.view setFrame:[[UIScreen mainScreen] bounds]];

与往常一样...在 self.view 实际加载之前无法完成,以便可以设置它的框架!所以我必须这样做 - (void)viewDidAppear

我没有费心去检测设备,因为我总是希望这个视图是全屏的,不管是什么设备(包括 iPad.

我的猜测是内置控制器(UINavigationController 等)具有检测 iPhone 5 并相应地设置帧边界的逻辑。


更新:事实证明,我有一个更大的问题。我在 MainWindow.xib 中的主“窗口”未设置为“启动时全屏”。这是 .xib 中窗口的复选框实用程序视图

因为它没有被检查,我的触摸目标也被屏蔽在 xib 文件 3:2 尺寸的边界之外。选中此框可修复我的触摸目标并修复了我上面问题中的屏幕填充问题。我删除了原始答案中的代码,并且视图很好地填充了整个屏幕/窗口,因为“窗口”现在是屏幕的大小。

现在更有意义...

于 2012-12-03T03:43:36.227 回答