引子
盒子模型是 CSS3的一种概念,用于描述HTML 的元素各个属性,相信大家都有所熟悉而这里,我为大家提供一下 UICollectionView 的"盒子模型",本文属于新手向,顺便为后续的 UICollectonViewFlowLayout 深入做一个铺垫
模型图
这里,我用PPT 做了一个UICollectionView的盒子模型(蓝色外壳是总的 UICollectionView,光做这个图就花了二十多分钟,电脑卡真无奈囧)
说明
稍微说明几句需要注意的话,sectionHeader 和 sectionFooter 不在 sectionInset 内,脑子里平时最好有这个模型,用来在写 flowlayout 的时候能够快速布局.
其它也没啥好说的了, 主要是之前搜了下,网上并没有实在的Collection盒子模型,所以决定写一个留作收藏.如果你对 UICollection 不是特别熟悉,建议右键存储这张图片.
特别注意点!!!特别注意点!!!特别注意点!!!
默认的UICollectionViewFlowLayout()创建的时候,minimumLineSpacing,minimumInteritemSpacing都是有默认值10的
let layout = UICollectionViewFlowLayout().then {
$0.estimatedItemSize = MakeSize(100, 100)
$0.sectionInset = MakeEdge(t: 5, l: 10, b: 0, r: 10)
}
log("```minimumInteritemSpacing: \(layout.minimumInteritemSpacing), minimumLineSpacing: \(layout.minimumLineSpacing)")minimumLineSpacing: \(layout.minimumLineSpacing)")
[10/07/2021 21:01:08.674] ```minimumInteritemSpacing: 10.0, minimumLineSpacing: 10.0
如果你不设置默认的minimumInteritemSpacing = 0,肯定会无法完整的计算出刚好填满的 CellWidth
PS: 之前的 TableProvider 再鸽鸽会儿吧,placeholder 其实早写完了,只不过刷新花了些时间,主要是那东西写起来实在多囧,我又不想只是贴代码,等后面再加好了
网友评论