Xcode自动布局设置

时间:2015-01-10 23:30:55

标签: ios iphone xcode autolayout

我有一个项目A,它是在引入新屏幕尺寸之前启动的。在将我的Xcode升级到6.0之后,在故事板和IB中,我在开发用户界面时仍然使用4.0屏幕。当我在4.7屏幕和5.5屏幕上测试项目时,视图可以自动缩放,看起来与4.0相同。例如,在IB中,我有一个尺寸为60x60(在320x568视图中)的UIImageView,当我在iPhone 6模拟器中运行时,图像视图大小变为70x70。

最近我创建了另一个项目B,它具有完全不同的初始设置。 (例如,没有* -Prefix.pch文件)。我仍然在4.0屏幕上开发了用户界面,但是当我在iPhone 6模拟器上测试时,视图没有缩放。

因此,我开始进行一些测试。两种测试都是在4.0屏幕尺寸下开发的。首先,我在Project A的Storyboard的中心创建了一个带有标签的视图,并在iPhone 6模拟器中运行。第二次测试我在Project B的Storyboard中创建了完全相同的视图,并在iPhone 6模拟器中运行。结果完全不同。

测试1的结果(项目A): enter image description here

enter image description here

测试2的结果(项目B): enter image description here

enter image description here

正如我们所看到的,当项目A中运行的代码时,视图可以正确缩放到更大的屏幕,但在项目B中,它无法扩展。

有人可以回答他们与众不同的原因吗?哪个结果正常?因为如果第一次测试结果是正常的,那么我不需要担心开发不同大小的视图(还是需要考虑3.5英寸)

更新:

似乎我需要为项目和控制变量使用自动布局做一些明确的事情,我取消选择使用大小类,因为项目A之前没有那个。

更新:

我删除了每个视图控制器,并在两个项目中再次执行此操作。结果与以前一样。我查看了故事板的源代码,唯一的区别是视图控制器ID。

1 个答案:

答案 0 :(得分:2)

enter image description here enter image description here

感谢Brad,问题在于一个项目有启动图像而另一个项目没有。要使UI自动扩展,请选择“使用资产目录”。如果没有启动图像,它将显示黑色但无关紧要。因此,对于4英寸,4.7英寸和5.3英寸的屏幕,我们可以在一个屏幕尺寸上进行开发,并且可以自动扩展到其他屏幕而不受限制。