相对布局。约束方程解释

时间:2016-06-09 08:43:31

标签: swift xcode-storyboard

阅读相对布局中的约束,我发现了以下内容:

  

在数学上,任何约束都可以使用以下等式表示:

     

Y =乘数* X +常数

     

X和Y是视图的属性,可以是left,right,top,bottom,leading,trailing,width,height,centerX,centerY或baseline。

有人可以解释一下吗?

1 个答案:

答案 0 :(得分:1)

我想解释示例效果最好,所以:

假设您有一些位于其视图控制器中的视图,因此距离左侧10点。这意味着它的前导设置为10.现在,此视图具有子视图,我们希望将其固定在左侧。所以我们设置前导约束以匹配父前导。假设我们将此约束的常量设置为0(无间隙)并且不修改乘数(默认值为1),则此视图的左侧位置设置为:

childLeading = parentLeading * multiplier + constant

即:

childLeading = 10 * 1 + 0 = 10

因此,子视图的左侧与其父视图位于相同的位置。

修改约束的常量我们将子视图更多地移动到左边f.e.常量设置为8导致:

childLeading = 10 * 1 + 8 = 18

并且在结果中视图位于距其父左边缘8个点处。

我想你可以在乘数的情况下遵循这个逻辑(使用频率比常数少得多)