UICollectionView是iOS开发中的一个容器类视图.
在一些场景中,我们需要在collectionView的一行中设置特定数量的item,但这个数量本鸟不会计算啊!或者说是没有想过怎么算!现在解决了,来跟大家分享一下.
会影响到一行中item数量的属性有以下几个:
- minimumInteritemSpacing: 表示一行中item间最小的距离,默认值为10,注意在collectionView中一般都是设置最小距离,满足最小距离的基础上,才计算有多少个item,不满足的话,需要减少行中item的数量,所以会导致这个值得增大.
- itemSize: 顾名思义,item的大小,默认值为宽50,长50,我们这里只需要关注宽度.
- sectionInset: 表示一个区的上左下右边距,默认值(0,0,0,0),在这里关注左右.
以下这个关系是恒成立
itemCount * itemSize.width + (itemCount - 1) * minimumInteritemSpacing = CollectionView.width - sectionInset.left - sectionInset.right
所以能够得到等式
itemCount = (CollectionView.width - sectionInset.left - sectionInset.right + minimumInteritemSpacing) / (itemSize + minimumInteritemSpacing)
大家加油!