在不使用自动布局的情况下调整 iPhone 5 屏幕尺寸

Posted

技术标签:

【中文标题】在不使用自动布局的情况下调整 iPhone 5 屏幕尺寸【英文标题】:Adjust iPhone 5 Screen Size Without Using Autolayout 【发布时间】:2012-10-05 20:48:20 【问题描述】:

在 .xib 或 .storyboard 中启用自动布局并添加 640 像素 x 1136 像素的初始屏幕可启用 iPhone 5 分辨率支持更高的屏幕。

但是,这样做后,我的应用开始显示一些有趣的东西,我认为自动布局不是一个好主意。

我想知道是否有办法启用 iPhone 5 设备支持,即在不使用自动布局的情况下修复应用程序的分辨率?也许我可以在代码中设置?

如果是,那么我将不需要创建 2 个故事板或 nib 来支持 ios5 和 iOS6。

【问题讨论】:

【参考方案1】:

如果您之前没有使用过 Autolayout,则无需使用它来支持 iPhone 5。

当您将界面组合在一起时,您只需要检查您的绑定,并在较高的手机尺寸和常规手机尺寸之间切换,如下所述: Xcode Storyboard displaying the new iPhone 5 screen size?

如果您的屏幕在两种屏幕尺寸下看起来都不错,那么您就完成了。

如果您要编写大量代码来显示您的 UI,那么您将有更多工作要做。

【讨论】:

【参考方案2】:

几周前我找到了一个很好的答案(下面的链接)。您将复制并粘贴旧 iPhone 故事板,将其重命名以反映 iPhone 5,然后按下位于布局网格底部的扩大屏幕尺寸的按钮。可能需要进行一些小的编码调整,但此示例代码在 AppDelegate 中用于检测正在运行的设备,从而检测要使用的 Storyboard。你只需要复制你的界面,但是这些 GUI 更改可以在没有代码和 AutoLayout 的情况下进行(还需要注意的是,AutoLayout 删除了 iOS 5 和更低版本的兼容性)

xcode 4.5 how to pick storyboards at launch

【讨论】:

以上是关于在不使用自动布局的情况下调整 iPhone 5 屏幕尺寸的主要内容,如果未能解决你的问题,请参考以下文章

如何在不使用自动布局的情况下以 XIB/故事板大小查看手机尺寸

调整 UIButton 宽度/高度 (iOS) - 如何在不禁用自动布局的情况下解决?

具有自动布局的多行UILabel,如何在不更改标签框架的情况下根据内容调整字体大小?

在不自动调整大小的情况下确定 UIView 容器大小

Xcode 5:不同屏幕大小的 iPhone 自动布局视图调整大小问题

不同设备尺寸的 iOS 自动布局约束值