IOS开发-设置父子视图之间边距按比例约束

代码示例运行环境为 IOS10,swift 3.0

因为按比例约束边距相比按比例约束宽高多了一个小坑,所以在此记录一下。

首先看两张正常约束 左边距 和 上边距 的图片:


IOS开发-设置父子视图之间边距按比例约束_第1张图片
约束视图
约束信息

注意看第二张图中的Constraints下的约束信息,Button.leading = leading + 52 , 说明了这些约束都是一些数字,leading是一个变量,在这里为0,所以Button.leading = 0 + 52 = 52 ,了解了这一点就好说了。

如果我们要左边距为整个父view的 0.2倍 的话,我们该如何去做呢,看inspector中的两张图就清晰了:


IOS开发-设置父子视图之间边距按比例约束_第2张图片
未做改变之前


IOS开发-设置父子视图之间边距按比例约束_第3张图片
修改之后的内容

首先将 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倍。结果为:


IOS开发-设置父子视图之间边距按比例约束_第4张图片
修改后的视图

记住,约束也不过就是数值而已,只要知道了计算的方法,就容易设计比例约束了。

这里只介绍约束leading的,其他几个约束都和这个差不多,自己揣摩揣摩吧。

如果有任何疑问或者是文中存在技术性错误,请留言,我会尽快回复或者更改。

你可能感兴趣的:(IOS开发-设置父子视图之间边距按比例约束)