文档章节

UICollectionView创建实例

SoulJa
 SoulJa
发布于 2015/10/22 11:02
字数 268
阅读 163
收藏 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
通过UICollectionView创建网格布局

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

人生天地间
2014/04/10
0
0
iOS开发 纯代码创建UICollectionView

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

hejunbinlan
2016/01/06
141
0
多个UICollectionView,数据数量显示错误问题

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

吕赟杰
2016/03/21
609
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

HTTPS is easy

HTTPS is easy https://www.troyhunt.com/https-is-easy/ HTTPS is easy! In fact, it's so easy I decided to create 4 short videos around 5 minutes each to show people how to enable ......

openthings
24分钟前
0
0
bugList 2

用户端: 1. 上传文件时,当选择:彩色-A3-双面时,第二个图片有bug 应改为 和第一个图片的类型相同 2. 确认打印时,三个下拉选目前有bug 应改为:根据后台配置的商家,group by计算出不同城...

勇恒
27分钟前
2
0
keras cnn 网咯 mnist 分类

搭建貌似比tf是简单很多。。。。。 from keras.datasets import mnistfrom keras.utils import np_utilsfrom keras.models import Sequentialfrom keras.layers import Dense, Activat......

阿豪boy
29分钟前
0
0
解决 /var/run/nginx.pid failed

nginx: [error] open() "/var/run/nginx.pid" failed (2: No such file or directory) sudo nginx -c /etc/nginx/nginx.conf nginx -s reload...

驛路梨花醉美
31分钟前
0
0
nginx负载均衡-ssl原理-生成ssl密钥对-nginx配置ssl

nginx负载均衡: 1.创建配置文件 vim /usr/local/nginx/conf/vhost/load.conf #添加以下内容: upstream qq_com #名字自定义,借助此模块定义多个IP,后面...

ZHENG-JY
31分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部