美文网首页
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