您的位置:首页 > 产品设计 > UI/UE

自定义UICollectionView布局-入门

2015-03-21 13:51 357 查看

自定义UICollectionView布局-入门

0.应用场景:

项目中经常会用到各种各样的cell,有时自定义cell已经无法满足产品的需求,我们可以选择复杂并且开发难度大的开发方式解决问题,当然也可以选择简单但是有技巧的解决方案,其中自定义UICollectionView布局就是一种很好的方式,这节就探讨如何使用自定义UICollectionView布局做出漂亮的界面。

1.继承方案

1> 继承UICollectionViewLayout

2> 继承UICollectionViewFlowLayout

2.可能需要重写的方法

1> prepareLayout

一般在这里设置一些初始化参数,执行初始化操作

必须要调用[super prepareLayout];

2> layoutAttributesForElementsInRect:

返回的数组中装着UICollectionViewLayoutAttributes对象

返回collectionView上面所有元素(比如cell)的布局属性:这个方法决定了cell怎么排布

每个cell都有自己对应的布局属性:UICollectionViewLayoutAttributes

3> shouldInvalidateLayoutForBoundsChange:

当uicollectionView的bounds发生改变时,是否要刷新布局

一旦重新刷新布局,就会重新按顺序调用1>、2>两个方法

4> targetContentOffsetForProposedContentOffset:withScrollingVelocity:

这个方法的返回值,决定了collectionView最终的偏移量(最终的停留位置)

proposedContentOffset参数:collectionView本应该的偏移量

velocity参数:collectionView的滚动速率

5> layoutAttributesForItemAtIndexPath:

如果继承了UICollectionViewLayout,最好实现这个方法

作用是:返回indexPath位置cell的布局属性

PS:后续会上传代码。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: