美文网首页iOS 开发
为UICollectionView的section设置背景颜色

为UICollectionView的section设置背景颜色

作者: 一欧Yiou | 来源:发表于2017-06-15 13:07 被阅读923次

工作中有个需求需要给CollectionView不同的section添加背景,当时在网上只找到了一份Swift的demo而我的项目又是用OC写的, 又不想混编, 没办法既然找不到OC索性就把这份代码翻译成OC吧, 然后就有了下面的代码, 顺便附上Swift代码


UICollectionView 无法通过属性设置或数据源来为不同的 Section

设置不同的背景颜色,要想达到这样的效果就需要自定义自己的布局对象(UICollectionViewLayout)。自定义布局可以完全自定义布局,但这里我们只继承

UICollectionViewFlowLayout 还是使用系统内置的 Flow 布局。

那么 Section 的背景颜色是属于 UICollectionView 的那一块呢?它既不是 Cell 视图,也不是

Supplementary 视图,而是 UICollectionView 的 Decoration(装饰) 视图 。Decoration

视图不同与前两者, 它无法通过数据源来设置,而是由布局对象来定义和管理。

无论是定义 Cell 视图、Supplementary 视图还是 Decoration 视图都是通过它们的

attributes(UICollectionViewLayoutAttributes)来定义的。

OC版:https://github.com/704433701/JHCollectionViewSectionBackgroundDemo

Swift版:https://github.com/c0ming/SBCollectionViewFlowLayout

相关文章

网友评论

    本文标题:为UICollectionView的section设置背景颜色

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