我真的很纠结这个问题。我搜索了这个问题,但似乎没有人遇到完全相同的问题。
所以我有这个 ios7 项目,它应该在 4 英寸和 3.5 英寸设备上运行。 在 4 英寸上,一切都很好,但在 3.5 英寸 View Controller 上,框架高度为 568
如果我在 AppDelegate 中记录 UIScreen 边界,它会正确返回 480。但是如果我创建 UIViewController 并将它作为 rootViewController 添加到 NavigationController,它的高度是 568。 (NavigationController 480 的高度太合适了)
首先,我认为这可能是因为 XIB,所以我创建了空白的 UIViewController [[UIViewController alloc] init],但它的高度仍然是 568。
这让我发疯,因为我的其他项目以这种方式工作正常并且 View Controller 会自动调整大小。
我检查了我在 images.xcassets 中定义了正确的起始图像,并且我尝试了 XIB,无论是否使用自动布局。
只有一件事有帮助,如果我将 xib 中的模拟指标设置为 NONE 或 3.5 英寸,但我不会在 4 英寸上获得全屏。两个屏幕都有多个 xib 对我来说不是解决方案。
任何提示将不胜感激
谢谢
最佳答案
我目前正面临这个问题,因为我正在使用 autoLayouts,但现在我已经使用 nib 解决了这个问题。所以我想和你分享。
如果你正在通过 nib 制作一个 viewController。然后你应该确保选中“Resize View From NIB”。完成此操作后,您将获得 View w.r.t 屏幕边界的框架高度。 (在 3.5 英寸屏幕中为 480,在 4 英寸屏幕中为 568)。
关于ios - ViewControllers 未针对 3.5 英寸屏幕调整大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20033610/