代码示例运行环境为 IOS10,swift 3.0
因为按比例约束边距相比按比例约束宽高多了一个小坑,所以在此记录一下。
首先看两张正常约束 左边距 和 上边距 的图片:
注意看第二张图中的Constraints下的约束信息,Button.leading = leading + 52 , 说明了这些约束都是一些数字,leading是一个变量,在这里为0,所以Button.leading = 0 + 52 = 52 ,了解了这一点就好说了。
如果我们要左边距为整个父view的 0.2倍 的话,我们该如何去做呢,看inspector中的两张图就清晰了:
首先将 Second Item 由leading变为trailing,此时约束的计算式为Button.leading=trailing+52。然后将 Constant 变量变为0,此时,计算方法为:Button.leading=trailing,button就到了最右侧,继续改变Multiplier(倍数)变量为0.2,此时,边距的计算方法为 Button.leading = trailing * 0.2 , trailing是几呢?当然是整个父视图的宽度,从而使边距变为宽度的0.2倍。结果为:
记住,约束也不过就是数值而已,只要知道了计算的方法,就容易设计比例约束了。
这里只介绍约束leading的,其他几个约束都和这个差不多,自己揣摩揣摩吧。
如果有任何疑问或者是文中存在技术性错误,请留言,我会尽快回复或者更改。