图示3个ImageView,假设它们之间的间距是固定的比如为10,那么如何使用约束使他们等距离摆放呢?
![](https://img.haomeiwen.com/i1393407/99da1af179f0f717.png)
首先,假设每个imageView之间间距是10,imageView和两边间距也是10,那么先计算出每个imageView宽度为:(screenWidth - 40)/3,先确定下来宽度,做等宽约束。
![](https://img.haomeiwen.com/i1393407/4a880243c30e7e9a.png)
修改Constant 为40, multiplier为3,总结来说这个约束的意思就是 SupverView.Width = Image View.Width * 3 + 40,完全符合我们的需求了。
![](https://img.haomeiwen.com/i1393407/01346130f36558b1.png)
宽度确定了还不够,还要设置leading和 top的位置,然后设置自身的长宽比例(图中未画),我这里长宽比例Aspect Ratio是1:1就是正方形
![](https://img.haomeiwen.com/i1393407/5e5a182e716ac193.png)
然后的部分就比较简单了,将第一个imageView加入父视图的leading 和 top约束,设置宽高比例(我这里直接为1:1),然后对第二个第三个imageView做leading = 10, 等宽等高约束就OK了。
![](https://img.haomeiwen.com/i1393407/bfc9e520c07507c8.png)
最终的效果图就出来了,完全不用写代码,只需要一点简单的计算就可以完成了。
![](https://img.haomeiwen.com/i1393407/2f2867641db073c2.png)
给上几张图片,看看效果:
![](https://img.haomeiwen.com/i1393407/2d15b056f4ebf222.png)
![](https://img.haomeiwen.com/i1393407/cec9b68809392786.png)
好了,距离固定的等距离摆放已经做好了,那么如果是视图大小固定的等距离摆放怎么做呢?比如每个imageView的宽度和高度限定为100,等距离摆放,请看下集 使用StoryBoard任意多个固定长宽控件的摆放。
网友评论