文档章节

UICollectionView创建实例

SoulJa
 SoulJa
发布于 2015/10/22 11:02
字数 268
阅读 164
收藏 0

UICollectionView 和 UICollectionViewController 类是iOS6 新引进的API,用于展示集合视图,布局更加灵活,可实现多列布局,用法类似于UITableView 和 UITableViewController 类。

使用UICollectionView 必须实现UICollectionViewDataSource,UICollectionViewDelegate,UICollectionViewDelegateFlowLayout这三个协议。

 

下面先给出常用到的一些方法。(只给出常用的,其他的可以查看相关API) 

  1. #pragma mark -- UICollectionViewDataSource   

  1. //定义展示的UICollectionViewCell的个数  

  2. -(NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section  

  3. {  

  4.     return 30;  

  5. }   

  1. //定义展示的Section的个数  

  2. -(NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView  

  3. {  

  4.     return 1;  

  5. }   

  1. //每个UICollectionView展示的内容  

  2. -(UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath  

  3. {  

  4.     static NSString * CellIdentifier = @"GradientCell";  

  5.     UICollectionViewCell * cell = [collectionView dequeueReusableCellWithReuseIdentifier:CellIdentifier forIndexPath:indexPath];  

  6.   

  7.     cell.backgroundColor = [UIColor colorWithRed:((10 * indexPath.row) / 255.0) green:((20 * indexPath.row)/255.0) blue:((30 * indexPath.row)/255.0) alpha:1.0f];  

  8.     return cell;  

  9. }   

  1. #pragma mark --UICollectionViewDelegateFlowLayout   

  1. //定义每个UICollectionView 的大小  

  2. - (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath  

  3. {  

  4.     return CGSizeMake(96, 100);  

  5. }   

  1. //定义每个UICollectionView 的 margin  

  2. -(UIEdgeInsets)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout insetForSectionAtIndex:(NSInteger)section  

  3. {  

  4.     return UIEdgeInsetsMake(5, 5, 5, 5);  

  5. }   

  1. #pragma mark --UICollectionViewDelegate   

  1. //UICollectionView被选中时调用的方法  

  2. -(void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath  

  3. {  

  4.     UICollectionViewCell * cell = (UICollectionViewCell *)[collectionView cellForItemAtIndexPath:indexPath];  

  5.     cell.backgroundColor = [UIColor whiteColor];  

  6. }   

  1. //返回这个UICollectionView是否可以被选择  

  2. -(BOOL)collectionView:(UICollectionView *)collectionView shouldSelectItemAtIndexPath:(NSIndexPath *)indexPath  

  3. {  

  4.     return YES;  

  5. }  


本文转载自:http://www.cnblogs.com/ios8/p/iOS-UICollectionView.html

共有 人打赏支持
SoulJa
粉丝 31
博文 183
码字总数 32359
作品 0
武汉
程序员
Objective-C 语言中的类类型

小菜鸟在学习使用UICollectionView的时候发现个函数: - (void)registerClass:(Class)cellClass forCellWithReuseIdentifier:(NSString *)identifier; 这个函数允许用户为不同的标示设置对应...

NextDay
2014/03/05
0
0
IOS中UICollectionView的基本用法

本章通过先总体介绍UICollectionView及其常用方法,再结合一个实例,了解如何使用UICollectionView。 UICollectionView 和 UICollectionViewController 类是iOS6 新引进的API,用于展示集合视...

Erichkko
2015/08/28
738
0
iOS开发 纯代码创建UICollectionView

习惯了使用xib和StoryBoard创建UICollectionView项目工程的伙伴,需要转换使用纯代码来实现,想避免碰更多的壁,就需要认真了解创建UICollectionView过程了。创建UICollectionView比创建UIT...

hejunbinlan
2016/01/06
141
0
通过UICollectionView创建网格布局

在这个教程中,我们经构建一个件的程序,以网格布局的俄方式现实图片集,你将学到下面的信息: UICollectionView简介 如何是使用UICollectionView构建一个简单的基于网格的布局 自定义Collect...

人生天地间
2014/04/10
0
0
多个UICollectionView,数据数量显示错误问题

最近使用UICollectionView,在一个页面上同时显示三个UICollectionView,但是在一切准备就绪运行时,发现三个UICollectionView中两个显示的数据数量是一样的(其实三个数据源数量都是不一样的...

吕赟杰
2016/03/21
609
0

没有更多内容

加载失败,请刷新页面

加载更多

[Hive]JsonSerde使用指南

注意: 重要的是每行必须是一个完整的JSON,一个JSON不能跨越多行,也就是说,serde不会对多行的Json有效。 因为这是由Hadoop处理文件的工作方式决定,文件必须是可拆分的,例如,Hadoop将在...

Mr_yul
10分钟前
0
0
54:mysql修改密码|连接mysql|mysql常用命令

1、mysql修改密码: root用户时mysql的超级管理员,默认mysql的密码是空的,直接可以连接上去的,不过这样不安全; 注释:为了方便的使用mysql,需要把mysql加入到环境变量里; #后续自己输入mys...

芬野de博客
17分钟前
0
0
鼠标单击复制粘贴标签中的内容

<span ref="spanContentOne" id="spanContentOne" style="font-size: 14px;">或许不是最亮眼,总比瞎买强一点</span><!--<input type="button" @click="copyClick('1')" value="复制" />-......

帝子兮
21分钟前
0
0
使用axel多线程疯狂下载

在Linux中比较常见见的下载工具是curl和wget,但是下载比较大的文件两者都不支持多线程, 断点续传的作用不见得能发挥到最大。今天介绍一个axel工具,开启多线程疯狂下载。 安装 Fedora/Cen...

linuxprobe16
23分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部