iOS AutoLayout 设置多个相同间隔的视图

控件宽度 = itemWidth

控件个数 = itemCount

父视图宽度 = width

间距数 spaceCount = itemCount +1

itemCount个控件总宽度  itemSumWidth = itemWidth*itemCount

 

每个控件之间的间隔 itemSpace =  (width - itemWidth * itemCount) / (itemCount + 1) =  width / (itemCount + 1)  - (itemWidth*itemCount) / (itemCount+1)

第 i 个 控件与superview左边的距离 =  i * itemSpace + (i - 1)*itemWidth 

                                                         =  i * width / (itemCount + 1)  -  ( i  * (itemWidth*itemCount) / (itemCount+1)  +  (i + 1)*itemWidth )

                                                         =  i * width / (itemCount + 1) +  (i + 1)*itemWidth - i  * (itemWidth*itemCount) / (itemCount+1)



总结:

muti = i /spaceCount 

constant =   (i - 1)*itemWidth - i * itemSumWidth/spaceCount

view.leading = superview.trailing *  (i /spaceCount ) +  (i - 1)*itemWidth - i * itemSumWidth/spaceCount


例:

控件宽度 = itemWidth = 50

控件个数 = itemCount = 4

父视图宽度 = width = 310


muti  =  0.2,  0.4,  0.6,  0.8

constant =  -40 ,-30 , -20 ,  -10   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值