不了解自动布局,约束和大小类

时间:2015-04-02 20:11:42

标签: ios autolayout size-classes

我有点卡住了,非常感谢任何帮助!

我会给你一个快速概述。我有一个屏幕设计,使用iphone 6屏幕尺寸,然后重新设计,适合iphone 5 / 5s / 5c和6 plus,因为那些是我想要支持的唯一设备。 / p>

但设计部分或仅针对一个特定屏幕尺寸实现设计很容易,我理解这一部分。我完全迷失在哪里,是如何在一个视图控制器中实现一个设计,它在我设计的所有屏幕尺寸中看起来都应该如此。

我经历了不止一些自动布局和大小类教程,并且不确定我是如何正确使用它们以便应用程序识别出“这是iphone 5,使用这些图像大小和位置代替,这是一个iphone 6 plus,使用这些“等等。

我在这一点上看到的有关自动布局和约束的所有内容仅使用一组数字来判断与元素的距离,但所有屏幕尺寸都有不同的距离。

我缺少什么或不理解?我知道我正在寻找一些不正确的东西。

提前感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

你是正确的,只有一组数字可以用来判断距离,但这仍然可以描述一个视图应该如何出现在不同的屏幕尺寸上。您的问题可能是您正在考虑约束来描述您的视图框架? (这显然必须在每台设备上有所不同)。我认为将约束描述为描述视图的每个边缘与另一个视图的关系更有帮助。

例如,这里是一个视图控制器,我设置了所有相同的约束以及它在不同设备上的外观。约束描述了如何固定大灰色视图,它的左右边缘20指向其容器视图的左右边缘。它固定在距离顶部8个点和标签顶部8个点的位置。标签垂直和水平居中,具有固有的内容大小。每个按钮固定距离底边20个点,按钮1和2分别固定在左右边缘的20个点上。

enter image description here

我不知道这是否有帮助,或者如果那不是你所追求的答案,你需要根据设备的不同来安排你的观点:你可以告诉Xcode你正在创建的约束设备大小和方向适用于,在Interface Builder中使用此按钮。

enter image description here

用它来选择设备尺寸/方向。之后,您创建的任何约束将仅用于该设备。默认情况下,会选择任何宽度和高度,因此通常会将约束应用于所有设备。

此外,您无法选择要支持的设备,只能选择iOS版本。

相关问题