计算UICollectionView一行能有几个item(cell)

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)

大家加油!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容