美文网首页
iOS(Swift) UICollectionView 盒子模型

iOS(Swift) UICollectionView 盒子模型

作者: 简单coder | 来源:发表于2021-07-10 21:10 被阅读0次

引子

盒子模型是 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 其实早写完了,只不过刷新花了些时间,主要是那东西写起来实在多囧,我又不想只是贴代码,等后面再加好了

相关文章

网友评论

      本文标题:iOS(Swift) UICollectionView 盒子模型

      本文链接:https://www.haomeiwen.com/subject/fixhpltx.html