关于uicollectionview的个人学习

总所周知,在开发过程中,当有类似瀑布流的业务需求的时候,使用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属性根 据滑动改变,此时就需要随时进行布局改变)

时间: 2024-08-29 09:00:18

关于uicollectionview的个人学习的相关文章

UICollectionView 详细讲解学习

UICollectionView 和UITableView很像,是APPLE公司在iOS 6后推出的用于处理图片这类UITableView 布局困难的控件,和UITableView 一样,它也有自己的Datasource和delegate.下面详细说下像这种方式的效果. 首先来看看UICollectionView 的DataSource. @protocol UICollectionViewDataSource <NSObject> @required - (NSInteger)collect

UICollectionView 具体解说学习

UICollectionView 和UITableView非常像,是APPLE公司在iOS 6后推出的用于处理图片这类UITableView 布局困难的控件,和UITableView 一样,它也有自己的Datasource和delegate.以下具体说下像这种方式的效果. 首先来看看UICollectionView 的DataSource. @protocol UICollectionViewDataSource <NSObject> @required - (NSInteger)collec

(原)UICollectionView的基本使用

UICollectionView基本使用 学习iOS一段时间了,早听说了UICollectionView的强大一直没有机会使用,今天自己研究了一下. UICollectonView类似UITableView 用法基本相似, UICollectionView 更灵活,更强大UICollectonView 将其子视图的位置,大小和外观的控制权委托给一个单独的布局对象.通过提供一个自定义布局对象,你几乎可以实现任何你能想象到得布局. 下面是UICollectionView 常用的代理方法. //定义展

初级篇第七期:学习UICollectionView

学习建议:自己动手,丰衣足食 学习周期:1周 学习目的:熟练使用Obejct-C中最常用的控件之一UICollectionView 学习答疑:欢迎来技术群里提问并做分享 学习工具:Xcode开发环境 学习内容:熟悉UICollectionView的基本用法,以及场景运用 UICollectionView是一个对UITableView的拓展,因为它是在iOS6才推出的,在大家经常用的瀑布流效果大部分Demo就是用UICollectionView来实现的,并且它相对UITableView的布局更加灵

对UICollectionView的学习

UICollectionView 和 UICollectionViewController 类是iOS6 新引进的API,用于展示集合视图,布局更加灵活,可实现多列布局,用法类似于UITableView 和 UITableViewController 类 与UICollectionView有关的三个协议:UICollectionViewDataSource,UICollectionViewDelegate,UICollectionViewDelegateFlowLayout 几个常用到得方法(需

自定义UICollectionLayout布局 —— UIKit之学习UICollectionView记录一《瀑布流》

一.思路 思路一:比较每一行所有列的cell的高度,从上到下(也就是从第一行开始),从最短的开始计算,(记录下b的高度和索引,从开始计算,依次类推) 思路二:设置上.下.左.右间距和行间距.列间距及列数. 思路三:实现的重要的方法. 二.代码先行. 1.自定义layout类. //入口 #import <UIKit/UIKit.h> @protocol STRWaterLayoutDelegate; @interface STRWaterLayout : UICollectionViewLay

UICollectionView学习总结

1?? UICollectionView与UITableView的区别:布局 UICollectionView与UITableView的共同点:循环利用 —> UITableView继承UISCrollView 注意:          —> UICollectionView 初始化必须要传入布局 UICollectionViewLayout UICollectionViewFlowLayout 流水布局:九宫格布局 —> UICollectionViewCell必须要注册      

蓝懿IOS学习UICollectionView实战轮播图

今天刘国斌老师讲了关于JSON数据源的获取与利用,通过微博的实战项目进行练习,获取的数据都是网络上请求的真实数据,这种方式学起来很轻松,很容易理解. 刘国斌老师把今天做的练习题UICollectionView轮播图实现功能的方法步骤都下了下来,我们学起来很方便.   实现轮播图 效果的步骤: 1.创建layout (UICollectionViewFlowLayout) 2.设置layout的方向 默认上下 3.创建UICollectionView 4.设置delegate dataSource

iOS学习之UICollectionView使用注解

#import "ViewC.h" #import "CLCollectionViewCell.h" #import "HeadView.h" #import "FootView.h" static NSString *cellIdentifier = @"cell"; static NSString *headerIdentifier = @"header"; static NSStr