ios - ViewControllers 未针对 3.5 英寸屏幕调整大小

标签 ios objective-c uiviewcontroller ios7 autolayout

我真的很纠结这个问题。我搜索了这个问题,但似乎没有人遇到完全相同的问题。

所以我有这个 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)。

enter image description here

关于ios - ViewControllers 未针对 3.5 英寸屏幕调整大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20033610/

相关文章:

ios - 使用带有 dispatch_async 的 block

cocoa - 推送时将 leftBarButtonItems 保留在新的 UIViewcontroller 上

objective-c - UIViewController - iPad Pro 3rd 顶部和底部出现神秘空白

ios - 在VueJS应用中使用WavesurferJS,可以播放音频,但波形从未加载到IOS Safari?

objective-c - iOS:*除非*文件系统中已经存在,否则从Web上异步下载图像?

iphone - 核心数据实体中配置错误的属性

objective-c - 检查应用程序的主窗口是否打开并加载

ios - 在 TabBarController 之前加载欢迎屏幕(启动屏幕)

ios - 在 IOS 中存储聊天消息和对话的最佳方式是什么

ios - 生成 DataMatrix 二维码 (ECC 200)