UICollectionView的基本使用
2015-06-10 02:24
591 查看
UICollectionView是布局瀑布流的方法,首先介绍该控件的基本使用状况
首先继承代理
划线的是唯一标示符
//UICollectionView在初始化时候,必须传递一个非空得layout参数
/*
第一个参数:UICollectionView的尺寸
第二个参数:UICollectionView的布局对象
*/
//布局对象:布局对象的作用就是用于控制UICollectionView中所有的子控件排布(cell,补充视图,装饰视图)
//UICollectionViewLayout
基类,根布局,内部默认没有任何排布,所有子控件如何排布都需要我们自己编码排布实现
// UICollectionViewFlowLayout
流水布局,默认是从左到右,一个接一个的布局
//1.创建UICollectionView
UICollectionViewFlowLayout *layout=[[UICollectionViewFlowLayout
alloc]
init];
//设置每个格子宽高100
layout.itemSize=CGSizeMake(100,
100);
//设置垂直间隙
//设置水平间隙
//设置顶部的扩展区域
//设置底部的扩展区域
//设置四周的扩展区域
//设置滚动方向
//
上面属性点进去可以查看
UICollectionView *clView=[[UICollectionView
alloc] initWithFrame:self.view.frame
collectionViewLayout:layout];
clView.backgroundColor=[UIColor
whiteColor];
// clView.frame=self.view.frame;
//在成为数据源之前,告诉系统通过哪一个类来创建UICollectionViewCell
[clView registerClass:[UICollectionViewCell
class] forCellWithReuseIdentifier:identifier];
//设置UICollectionView的数据源为当前控制器
clView.dataSource=self;
clView.delegate=self;
[self.view
addSubview:clView];
下面是数据源方法和代理方法
#pragma mark -dataSource
//告诉UICollectionView
一共多少组
-(NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView
{
return 1;
}
//告诉UICollectionView
每一组中需要展示多少个小方块
-(NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section
{
return 5;
}
//告诉系统
每个小方块展示什么内容
-(UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath
*)indexPath
{
//1.从缓存池中获取cell
UICollectionViewCell *cell= [collectionView
dequeueReusableCellWithReuseIdentifier:identifier
forIndexPath:indexPath];
//UICollectionViewCell和UITableViewCell的区别UICollectionView的dequeueReusableCellWithReuseIdentifier这个方法如果去缓存池中去取,没有取到cell,那么该方法内部会自动创建一个cell
但是需要注意的是:通过哪一类来创建cell必须由我们来制定
cell.backgroundColor=[UIColor
redColor];
return cell;
}
//点击小方块执行的方法
-(void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath
*)indexPath
{
NSLog(@"%s",__func__);
}
首先继承代理
划线的是唯一标示符
//UICollectionView在初始化时候,必须传递一个非空得layout参数
/*
第一个参数:UICollectionView的尺寸
第二个参数:UICollectionView的布局对象
*/
//布局对象:布局对象的作用就是用于控制UICollectionView中所有的子控件排布(cell,补充视图,装饰视图)
//UICollectionViewLayout
基类,根布局,内部默认没有任何排布,所有子控件如何排布都需要我们自己编码排布实现
// UICollectionViewFlowLayout
流水布局,默认是从左到右,一个接一个的布局
//1.创建UICollectionView
UICollectionViewFlowLayout *layout=[[UICollectionViewFlowLayout
alloc]
init];
//设置每个格子宽高100
layout.itemSize=CGSizeMake(100,
100);
//设置垂直间隙
//设置水平间隙
//设置顶部的扩展区域
//设置底部的扩展区域
//设置四周的扩展区域
//设置滚动方向
//
上面属性点进去可以查看
UICollectionView *clView=[[UICollectionView
alloc] initWithFrame:self.view.frame
collectionViewLayout:layout];
clView.backgroundColor=[UIColor
whiteColor];
// clView.frame=self.view.frame;
//在成为数据源之前,告诉系统通过哪一个类来创建UICollectionViewCell
[clView registerClass:[UICollectionViewCell
class] forCellWithReuseIdentifier:identifier];
//设置UICollectionView的数据源为当前控制器
clView.dataSource=self;
clView.delegate=self;
[self.view
addSubview:clView];
下面是数据源方法和代理方法
#pragma mark -dataSource
//告诉UICollectionView
一共多少组
-(NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView
{
return 1;
}
//告诉UICollectionView
每一组中需要展示多少个小方块
-(NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section
{
return 5;
}
//告诉系统
每个小方块展示什么内容
-(UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath
*)indexPath
{
//1.从缓存池中获取cell
UICollectionViewCell *cell= [collectionView
dequeueReusableCellWithReuseIdentifier:identifier
forIndexPath:indexPath];
//UICollectionViewCell和UITableViewCell的区别UICollectionView的dequeueReusableCellWithReuseIdentifier这个方法如果去缓存池中去取,没有取到cell,那么该方法内部会自动创建一个cell
但是需要注意的是:通过哪一类来创建cell必须由我们来制定
cell.backgroundColor=[UIColor
redColor];
return cell;
}
//点击小方块执行的方法
-(void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath
*)indexPath
{
NSLog(@"%s",__func__);
}
相关文章推荐
- Android布局的小窍门?
- Web布局连载——两栏固定布局(五)
- 样式表CSS布局经验
- css网页布局中注意的几个问题小结
- DL.DT.DD实现左右的布局简单例子第1/2页
- 使用CSS框架布局的缺点和优点小结
- div+CSS网页布局的意义与副作用原因小结第1/2页
- CSS顶级技巧大放送,div+css布局必知
- 异步加载技术实现当滚动条到最底部的瀑布流效果
- 用div实现像table一样的布局方法
- 精彩的Bootstrap案例分享 重点在注释!(选项卡、栅格布局)
- avalonjs制作响应式瀑布流特效
- jquery 插件实现瀑布流图片展示实例
- jquery代码实现简单的随机图片瀑布流效果
- android自定义RadioGroup可以添加多种布局的实现方法
- jQuery.lazyload+masonry改良图片瀑布流代码
- 瀑布流布局并自动加载实现代码
- js实现的美女瀑布流效果代码
- js实现瀑布流的一种简单方法实例分享
- Android开发之LinearLayout布局详解