UICollectionView的使用方法

1、遵守协议

<UICollectionViewDataSource,UICollectionViewDelegateFlowLayout>

2、创建

UICollectionViewFlowLayout * layout = [[UICollectionViewFlowLayout alloc]init];
    layout.minimumInteritemSpacing = 10;  //最小item之间的间距
    layout.minimumLineSpacing = 10;//最小行间距
    collectionView = [[UICollectionView alloc]initWithFrame:CGRectMake(0, 0, WIDTH, HEIGHT-64-49) collectionViewLayout:layout];
    collectionView.delegate = self;
    collectionView.dataSource = self;

//重要

1>、如果是用代码自定义的cell要用下面的方法注册

[collectionView registerClass:[PicCollectionViewCell class] forCellWithReuseIdentifier:@"cc"];

2>、如果是用xib定义的cell要用

[collectionView registerNib:[UINib nibWithNibName:@"PicCollectionViewCell" bundle:[NSBundle mainBundle]] forCellWithReuseIdentifier:@"cc"];

3、返回item的个数

-(NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section
{
    return dataSourse.count;
}

4、cell复用

xib和代码都用下面方法

PicCollectionViewCell * cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"cc" forIndexPath:indexPath];

5、重要协议方法

1>返回item的大小,系统自动根据item的大小来设定每行显示的item个数(可以用layout.size方法)

-(CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath
{
    CGSize  size = CGSizeMake(90, 80);
    return size;
}

2>//返回这个UICollectionView是否可以被选择

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

{  return YES;

}

时间: 2024-11-10 07:26:53

UICollectionView的使用方法的相关文章

iOS 流布局 UICollectionView使用(UICollectionVIew的代理方法)

UICollectionViewDataSource协议 这个协议主要用于collectionView相关数据的处理,包含方法如下: 设置分区数(这个是可选实现的) - (NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView; 设置每个分区有多少个item(必须实现) - (NSInteger)collectionView:(UICollectionView *)collectionView n

UICollectionView的使用方法及demo

直接上代码,说明请看注释吧 ViewController.h #import <UIKit/UIKit.h> @interface ViewController : UIViewController<UICollectionViewDataSource,UICollectionViewDelegateFlowLayout>{ } @property (strong, nonatomic)UICollectionView *collectionView; @end ViewContr

手把手教你使用UICollectionView写公司的项目

公司的UI图 在很多app中都有这样通用的页面,一直没有机会使用UICollectionView,只是简单的看过他的使用方法.今天公司美工出图,使用了他,并且遇到了好多的坑.记录一下过程,不确定使用的方法是不是最优的,如果有更好的方案,一起讨论,一起进步 理论篇 一.UICollectionViewLayout是做什么的? 1.1 在创建UITableView的时候,使用的是- (instancetype)initWithFrame:(CGRect)frame style:(UITableVie

iOS开发——技术实战OC篇&amp;使用UICollectionView实现新特性界面

使用UICollectionView实现新特性界面 关于CollectionView是一个很好用的控件,或许你还没有接触过,但是你肯定接触过UITableView,它可以实现UITableView实现不了的功能,知识UITableView使用的地方不不是很难,而CollectionView如果你只是简单的实现一些界面布局撒的很简单,但是如果涉及到比较炫酷或者比较高级的功能就需要更加深入的研究了. 今天主要是以一个新特性的界面介绍CollectionView的简单使用. 关于新特性界面在没有Col

UICollectionView的实现代码

首先可以先自定义一个cell @interface CollectionViewCell : UICollectionViewCell 继承自UICollectionViewCell 并添加一个ImageView,用autolaytou固定 记得一定要在这里指定cell的可重用标示符,位置要对,并且和代码里面设置的ID内容一致 确保Class指定正确 下面是AUTOLAYOUT 记得连线imageView 上代码 #import "ViewController.h" #import &

UICollectionView使用以及与UITableView的区别

在开始前我们在这先附一段最简单的代码 - (void)viewDidLoad { [super viewDidLoad]; UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayout alloc] init]; UICollectionView *colView = [[UICollectionView alloc] initWithFrame:self.view.bounds collectionViewLayout:la

iOS流布局UICollectionView使用FlowLayout进行更灵活布局

一.引言 前面的博客介绍了UICollectionView的相关方法和其协议中的方法,但对布局的管理类UICollectionViewFlowLayout没有着重探讨,这篇博客介绍关于布局的相关设置和属性方法. UICollectionView的简单使用:http://my.oschina.net/u/2340880/blog/522613 UICollectionView相关协议方法:http://my.oschina.net/u/2340880/blog/522613 通过layout的设置

iOS开发之 UIScrollView上添加多个UICollectionView 的问题

在iOS 开发过程中尤其是类似网易新闻客户端的 App 的开发过程中经常会出现在一个UIScrollView 上添加多个UICollectionView 或者是UITableView 的现象. 但是在UIScrollView 上添加UICollectionView时会出现问题 尤其是添加多个的时候,添加在父视图上的多个 UICollectionView 的代理方法执行顺序会出现倒叙执行的问题. 这里应该是UICollectionView 的机制的问题 因为苹果并不建议在滚动视图上添加滚动视图.如

iOS流布局UICollectionView系列七——三维中的球型布局

摘要: 类似标签云的球状布局,也类似与魔方的3D布局 iOS流布局UICollectionView系列七--三维中的球型布局 一.引言 通过6篇的博客,从平面上最简单的规则摆放的布局,到不规则的瀑布流布局,再到平面中的圆环布局,我们突破了线性布局的局限,在后面,我们将布局扩展到了空间,在Z轴上进行了平移,我们实现了一个类似UIPickerView的布局模型,其实我们还可以再进一步,类比于平面布局,picKerView只是线性排列布局在空间上的旋转与平移,这次,我们更加充分了利用一下空间的尺寸,来