文档章节

UICollectionView创建实例

SoulJa
 SoulJa
发布于 2015/10/22 11:02
字数 268
阅读 159
收藏 0
点赞 0
评论 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. }  


© 著作权归作者所有

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

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

NextDay ⋅ 2014/03/05 ⋅ 0

IOS中UICollectionView的基本用法

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

Erichkko ⋅ 2015/08/28 ⋅ 0

通过UICollectionView创建网格布局

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

人生天地间 ⋅ 2014/04/10 ⋅ 0

iOS开发 纯代码创建UICollectionView

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

hejunbinlan ⋅ 2016/01/06 ⋅ 0

多个UICollectionView,数据数量显示错误问题

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

吕赟杰 ⋅ 2016/03/21 ⋅ 0

UICollectionView简介

一、集合视图概述 UICollectionView也称集合视图,是一种新的数据展示方式,简单地可以理解为多列的UITableView。例如:iBooks的书架效果、购物网站的商品展示效果等等。 UICollectionView与...

黑伞将军 ⋅ 2015/09/14 ⋅ 0

一次从xib修改为纯代码带来的惨剧

今天在项目中遇到一个问题,是UICollectionView的一个DataSource方法- (UICollectionReusableView *)collectionView: viewForSupplementaryElementOfKind: atIndexPath:在同一个VC中被重复调......

yoyoso ⋅ 2016/04/26 ⋅ 0

iOS UICollectionView、UICollectionViewCell和Header、Footer

准备工作:创建UICollectionView ①UICollectionViewFlowLayout UICollectionViewFlowLayout是系统提供给我们一个封装好的布局设置类,其中有一些布局属性我们可以进行设置: ②UICollectio...

JoshSone ⋅ 2016/11/10 ⋅ 0

继承UICollectionViewController

一 继承UICollectionViewController 1.StoryBoard创建 2.纯代码创建 (1)(init初始化)(重写init或者重写loadView) (2)- (instancetype)initWithCollectionViewLayout:(UICollectionViewLay......

DavidHacker ⋅ 2016/08/26 ⋅ 0

iOS 分页滑块效果--ARCarousel

ARCarousel 可以通过自定义 UICollectionView 来创建分页手势的 Carousel 效果,特性如下: - 分页——重用 UICollectionView 可重用单元格 - 无限循环单元格 - 使用灵活...

叶秀兰 ⋅ 2014/05/14 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Mahout推荐算法之SlopOne

一、 算法原理 有别于基于用户的协同过滤和基于item的协同过滤,SlopeOne采用简单的线性模型估计用户对item的评分。如下图,估计UserB对ItemJ的偏好 图(1) 在真实情况下,该方法有如下几个...

xiaomin0322 ⋅ 5分钟前 ⋅ 0

LVM讲解

LVM是什么 LVM是 Logical Volume Manager(逻辑卷管理)的简写,它是Linux环境下对磁盘分区进行管理的一种机制,Linux用户安装Linux操作系统时遇到的一个常见的难以决定的问题就是如何正确地...

李超小牛子 ⋅ 15分钟前 ⋅ 0

mysql更改密码、连接mysql、mysql常用命令

1. 更改mysql的root账户密码: mysql中root账户和系统root不是一个账户 1.1 更改环境变量PATH,增加mysql绝对路径 由于mysql安装目录为/usr/local/mysql/,所以系统不能直接使用mysql,需把/...

laoba ⋅ 16分钟前 ⋅ 0

阿里云发布企业数字化及上云外包平台服务:阿里云众包平台

摘要: 阿里云正式发布旗下众包平台业务(网址:https://zhongbao.aliyun.com/),支持包括:网站定制开发,APP、电商系统等软件开发,商标、商品LOGO、VI、产品包装设计、营销推广、大数据人...

猫耳m ⋅ 16分钟前 ⋅ 0

阿里云发布企业数字化及上云外包平台服务:阿里云众包平台

摘要: 阿里云正式发布旗下众包平台业务(网址:https://zhongbao.aliyun.com/),支持包括:网站定制开发,APP、电商系统等软件开发,商标、商品LOGO、VI、产品包装设计、营销推广、大数据人...

阿里云云栖社区 ⋅ 20分钟前 ⋅ 0

1.03-Maven中使用ueditor富文本编辑器

起因:在maven仓库未找到百度的ueditor的jar包 操作: 1.下载百度的ueditor的jar包 2.打开命令行,切换到ueditor的下载位置,运行一下命令: mvn install:install-file -Dfile=ueditor-1.1....

静以修身2025 ⋅ 25分钟前 ⋅ 0

几道Spring 面试题

1、BeanFactory 接口和 ApplicationContext 接口有什么区别? ApplicationContext 接口继承BeanFactory接口 Spring核心工厂是BeanFactory BeanFactory采取延迟加载,第一次getBean时才会初始...

职业搬砖20年 ⋅ 34分钟前 ⋅ 0

包饺子

http://storage.slide.news.sina.com.cn/slidenews/77_ori/2018_24/74766_826131_625489.gif

霜叶情 ⋅ 36分钟前 ⋅ 0

xml解析

方法一: String s_xml1 = "<xml>" + "<head>lalalalal</head>" + "<body>1234</body>" + "</xml>"; try { DocumentBuilderFactory documentBuilderFactory......

GithubXD ⋅ 48分钟前 ⋅ 0

reuse stream

Although Java streams were designed to be operated only once, programmers still ask how to reuse a stream. From a simple web search, we can find many posts with this same issue ......

idoz ⋅ 48分钟前 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部