自定义UIColectionViewFlowLayout样式
说到UICollectionView首先想到的就是瀑布流,那么瀑布流只是自定义UICollectionView的一种,那么如何自定义UICollectionViewFlowLayout呢,自定义UICollectionViewFlowLayout最重要的是那一部分?话不多说,直接上干货儿。
首先你要自定义UICollectionViewFlowLayout就要自定义一个类继承于UICollectionViewFlowLayout,你还需要一个数组专门用来存储UICollectionViewLayoutAttributes。
文章图片
然后就是重写这个方法,必须的一点是必须调用[super prepareLayout]这个方法,然后就是保存UICollectionViewLayoutAttributes到数组中。
文章图片
上面这个方法必须实现的,下面这个方法就是重点了,一般设置cell的frame就是在这个地方设置,很多种样式的UICollectionView也都可以在这里面实现。
文章图片
【自定义UIColectionViewFlowLayout样式】有时候你会突然发现,UICollectionView的滚动范围不对,下面一部分滚不过去,这就是因为UICollectionVoew本身自己有一个默认的cell高度,然后它会根据数量和高度自己计算出一个滚动范围,所以这个方法就很重要了。需要我们来实现,在这个方法里面重新设置下cell的size,UICollectionView就不会用默认的高度来计算了,就可以防止这个问题。
推荐阅读
- SpringBoot调用公共模块的自定义注解失效的解决
- python自定义封装带颜色的logging模块
- 列出所有自定义的function和view
- Spring|Spring Boot 自动配置的原理、核心注解以及利用自动配置实现了自定义 Starter 组件
- 自定义MyAdapter
- Android自定义view实现圆环进度条效果
- Flutter自定义view|Flutter自定义view —— 闯关进度条
- js保留自定义小数点
- django|django 自定义.save()方法
- 如何在Kubernetes|如何在Kubernetes 里添加自定义的 API 对象(一)