我有一个项目A
,它是在引入新屏幕尺寸之前启动的。将我的 Xcode 升级到 6.0 后,在 Storyboard 和 IB 中,我在开发用户界面时仍然使用 4.0 屏幕。当我在 4.7 屏幕和 5.5 屏幕上测试该项目时, View 可以自动缩放,并且看起来与 4.0 相同。例如,在IB中,我有一个UIImageView,其大小为60x60(在320x568 View 中),当我在iPhone 6模拟器中运行它时, ImageView 大小变为70x70。
最近我创建了另一个项目B
,它具有完全不同的初始设置。 (例如,没有 *-Prefix.pch 文件)。我仍然在 4.0 屏幕上开发用户界面,但是当我在 iPhone 6 模拟器上测试时, View 没有缩放。
因此,我开始运行一些测试。两项测试均以 4.0 屏幕尺寸开发。首先,我在项目 A
的 Storyboard 中创建了一个带有标签的 View ,并在 iPhone 6 模拟器中运行。第二次测试我在项目 B
的 Storyboard 中创建了完全相同的 View ,并在 iPhone 6 模拟器中运行。结果完全不同。
测试 1 的结果(项目 A
):
测试 2 的结果(项目 B
):
正如我们所看到的,当代码在项目A
中运行时, View 可以正确缩放到更大的屏幕,但在项目B
中,它无法缩放。
有人可以回答为什么他们不同吗?哪个结果是正常的?因为如果第一次测试结果正常,那么我就不需要担心开发不同尺寸的 View (还是需要考虑3.5英寸)
更新:
似乎我需要澄清一些情况,以防对项目和控制变量使用自动布局,我取消选择使用尺寸类别,因为项目A
以前没有。
更新:
我删除了所有 View Controller ,并在两个项目中再次执行此操作。结果和以前一样。我查看了 Storyboard的源代码,唯一的区别是 View Controller ID。
最佳答案
感谢 Brad,问题是一个项目有启动图像,但另一个项目没有。要使 UI 自动缩放,请选择“使用 Assets 目录”。如果没有启动图像,它将显示黑色,但没关系。因此,对于4英寸、4.7英寸和5.3英寸的屏幕,我们可以只开发一种屏幕尺寸,它会自动缩放到其他尺寸,不受限制。
关于ios - Xcode 自动布局设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27882296/