所谓等宽子视图,也就是对一个有 n 个子视图的父视图来说,无论父视图的宽度怎么变化,所有子视图的宽度是相等的。这里给出一种等宽子视图布局的情况(n = 4),如下图(效果图):
分 析一下这种情况的视图约束规则, btn1,
btn2
,
btn3,
btn4
这四个子视图具有相同的宽度,子视图之间的 padding 为 0,
btn1
的左边与父视图距离为 0 ,btn4 的右边与父视图的距离也为 0。(当然,这个0可以改成任意数值)简单起见,所有子视图的高度都为 30(不考虑高度的影响)。
下图是在 Storyboard 中的约束实现过程:
下面是 Swift 代码实现的约束:
1、首先是btn1的约束添加
2、其次是btn2、btn3、btn4的约束(三个btn一样)
3、将四个btn选中,设置等宽等高。
4、之后就是align选中Vertical Centers
5、选择
,里面的Update Frames,添加约束。即可成功。
6、最终的效果如下图所示:
详情在github上:
https://github.com/muyunli627/AutoLayoutnew.git(直接看storyboard,没有一句代码)