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

关于uicollectionview的个人学习

时间:2015-11-12 17:36:44      阅读:208      评论:0      收藏:0      [点我收藏+]

标签:

      总所周知,在开发过程中,当有类似瀑布流的业务需求的时候,使用uitableView可以实现类似的效果,但是苹果开发出的uicollectionView似乎大大方便了开发者的工作量,使得实现这种效果更加高效。只要我们在使用的时候重写uicollectionView的UICollectionviewLayout就可以实现。

工作原理:就实现瀑布流效果中几个重要的方法进行解析。

1、-(void)prepareLayout  准备好布局后调用该方法。此时collectionView所有属性都已确定。读者在这里可以将collectionView当做画布,有了画布后,我们便可以在其上面画出每个item

2、- (CGSize)collectionViewContentSize  //设置collectionView的可显示范围

3、-(NSArray *)layoutAttributesForElementsInRect:(CGRect)rect  //返回collectionView视图中所有视图的属性(UICollectionViewLayoutAttributes)数组

4、-(UICollectionViewLayoutAttributes *)layoutAttributesForItemAtIndexPath:(NSIndexPath *)indexPath 返回indexpath对应的每个item的属性,里面可包含frame,设置的高、宽。

5、-(BOOL)shouldInvalidateLayoutForBoundsChange:(CGRect)newBounds 当collectionview视图的位置发生改变时候调用。 YES表示重新布局,NO表示不重新布局。
      这些方法中最重要的便是3,4方法,在3方法中返回所有视图属性数组,并根据这些属性进行布局,而4方法则返回每个item的属性,我们则在这里设置每个 item的属性(主要是frame),就可以让collectionView按照我们的意愿进行布局了!(在这里我们不需要用到1方法,若item属性根 据滑动改变,此时就需要随时进行布局改变)

 

 
 
 

关于uicollectionview的个人学习

标签:

原文地址:http://www.cnblogs.com/gepf/p/4959424.html

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