码迷,mamicode.com
首页 > 其他好文 > 详细

自定义UICollectionView布局-01

时间:2015-03-21 14:05:24      阅读:476      评论:0      收藏:0      [点我收藏+]

标签:layout   自定义   

自定义UICollectionView布局-01

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:后续会上传代码。

自定义UICollectionView布局-01

标签:layout   自定义   

原文地址:http://blog.csdn.net/chenyblog/article/details/44515387

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!