UICollectionView的cell间距问题
来源:互联网 发布:genesis软件 编辑:程序博客网 时间:2024/05/17 23:45
UICollectionView的cell间距问题
cell的间距是有三个因素共同调整的
- cell的最小间距 minimumInteritemSpacing
- cell的大小 [flowLayout setItemSize:]
- cell的内边距 flowLayout.sectionInset
假设:
CollectionView宽度:CollectionWidth,
一个Cell宽度:CellWidth,
cell的内边距 UIEdgeInsetsMake(top, left, bottom, right);
一行cell的个数:N,
cell的间距:SpaceX,
cell的最小间距:MinimumX
公式如下
SpaceX = (CollectionWidth - CellWidth * N - left - right)/(N-1);
CellWidth = (CollectionWidth - (left + right + SpaceX*(N-1)))/N;
当 SpaceX >= CellWidth时,N会递增,也就是说一行的cell数量会增多。
当SpaceX < MinimumX时(所以minimumInteritemSpacing要设置的小于等于你想要的间距),cell就会进行换行,所以N会取允许范围内的最大值。
由此可见,对于某一个固定了宽度的CollectionView,cell的间距只是由cell的宽度决定的。
eg:
要求:
+ CollectionView的宽度是屏幕宽度 ScreenWidth
+ Cell的左右内边距分别是5
flowLayout.sectionInset = UIEdgeInsetsMake(3, 5, 3, 5);
+ Cell之间的间距为六 flowLayout.minimumInteritemSpacing =6;
见下图
那么此时cell的宽度设置多少刚好呢?
由于:
CellWidth = (CollectionWidth - (left + right + SpaceX*(N-1)))/N;
所以:
CellWidth = (ScreenWidth -(5+5 + 6*1) )/ 2. ;
即只需按照CellWidth正确设置Cell的尺寸既可以按照要求设置间距:
[flowLayout setItemSize:CGSizeMake(width, width * 410/300.)]; //设置cell的尺寸
- UICollectionView的cell间距问题
- 解决UICollectionView的cell间距与设置不符问题
- 解决UICollectionView的cell间距与设置不符问题
- [iOS]UICollectionView设置cell之间的间距
- iOS UICollectionView cell 0间距问题的解决与分割线的设置
- ios开发——解决UICollectionView的cell间距与设置不符问题
- ios开发——解决UICollectionView的cell间距与设置不符问题
- UICollectionView 不同大小Cell 等间距的实现
- uicollectionview cell 行间距、列间距
- uicollectionview cell 行间距、列间距
- UICollectionview cell 行间距、列间距
- UITableView和UICollectionView的cell重用问题
- UICollectionView删除cell时崩溃的问题
- UICollectionView中cell的border问题
- iOS 关于UICollectionView的cell重用问题
- 自定义cell的间距
- ios UICollectionView实现不同大小cell等间距
- UICollectionView滚动到指定cell的机制问题
- 简图记录-shell的基本使用
- 提升服务效率就这么简单
- 微信小程序常见 错误
- ubuntu首次安装后必装的软件(by 星空武哥)
- Linux内核移植 part4:USB概念梳理
- UICollectionView的cell间距问题
- 好像这玩意叫离散余弦变换?
- 加密解密php与nodejs的加密数据互通
- 【LeetCode】63. Unique Paths II
- JavaScript学习笔记(11)
- 利用JavaFx开发RIA桌面应用-布局说明
- java进阶学习路day10
- 修改centos等linux的hostname-永久生效
- 72. Edit Distance , LeetCode