IOS基金会_ UICollectionView简单易用
2015-09-21 12:30
417 查看
和表格视图类似 UICollectionView的使用有两种方法
一种是继承UICollectionViewController,这个Controller会自带一个UICollectionView。
第二种是创建一个UIConllectionView 视图放在普通的UIViewController里面。
我们用另外一种
首先声明先声明一个重用标示 和实现托付
#define _CELL @"acell"
@interface
yxpViewController ()<UICollectionViewDataSource,UICollectionViewDelegate,UICollectionViewDelegateFlowLayout>
然后初始化UICollectionVIew
- (void)initCollectionView
{
//先实例化一个层
UICollectionViewFlowLayout *layout=[[UICollectionViewFlowLayout
alloc]
init];
//创建一屏的视图大小
UICollectionView *collectionView=[[UICollectionView
alloc] initWithFrame:self.view.bounds
collectionViewLayout:layout];
[collectionView
registerClass:[UICollectionViewCell
class] forCellWithReuseIdentifier:_CELL];
collectionView.backgroundColor=[UIColor
whiteColor];
collectionView.delegate=self;
collectionView.dataSource=self;
[self.view
addSubview:collectionView];
}
实现代理方法
#pragma mark --UICollectionViewDataSource
//定义展示的UICollectionViewCell的个数
-(NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section
{
return 31;
}
//定义展示的Section的个数
-(NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView
{
return 1;
}
//每一个UICollectionView展示的内容
-(UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath
*)indexPath
{
UICollectionViewCell * cell = [collectionView
dequeueReusableCellWithReuseIdentifier:_CELL
forIndexPath:indexPath];
cell.backgroundColor = [UIColor
colorWithRed:((arc4random()%255)/255.0)
green:((arc4random()%255)/255.0)
blue:((arc4random()%255)/255.0)
alpha:1.0f];
return cell;
}
#pragma mark --UICollectionViewDelegate
//UICollectionView被选中时调用的方法
-(void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath
*)indexPath
{
UICollectionViewCell * cell = (UICollectionViewCell *)[collectionView
cellForItemAtIndexPath:indexPath];
cell.backgroundColor = [UIColor
colorWithRed:((arc4random()%255)/255.0)
green:((arc4random()%255)/255.0)
blue:((arc4random()%255)/255.0)
alpha:1.0f];
}
//返回这个UICollectionViewCell能否够被选择
-(BOOL)collectionView:(UICollectionView *)collectionView shouldSelectItemAtIndexPath:(NSIndexPath
*)indexPath
{
return YES;
}
#pragma mark --UICollectionViewDelegateFlowLayout
//定义每一个UICollectionView 的大小
- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout
sizeForItemAtIndexPath:(NSIndexPath *)indexPath
{
return CGSizeMake(90,
90);
}
//定义每一个UICollectionView 的边距
-(UIEdgeInsets)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout
*)collectionViewLayout insetForSectionAtIndex:(NSInteger)section
{
return
UIEdgeInsetsMake(10,
10,
10,10);
}
这样一个简单地UICollection视图就完毕了
一种是继承UICollectionViewController,这个Controller会自带一个UICollectionView。
第二种是创建一个UIConllectionView 视图放在普通的UIViewController里面。
我们用另外一种
首先声明先声明一个重用标示 和实现托付
#define _CELL @"acell"
@interface
yxpViewController ()<UICollectionViewDataSource,UICollectionViewDelegate,UICollectionViewDelegateFlowLayout>
然后初始化UICollectionVIew
- (void)initCollectionView
{
//先实例化一个层
UICollectionViewFlowLayout *layout=[[UICollectionViewFlowLayout
alloc]
init];
//创建一屏的视图大小
UICollectionView *collectionView=[[UICollectionView
alloc] initWithFrame:self.view.bounds
collectionViewLayout:layout];
[collectionView
registerClass:[UICollectionViewCell
class] forCellWithReuseIdentifier:_CELL];
collectionView.backgroundColor=[UIColor
whiteColor];
collectionView.delegate=self;
collectionView.dataSource=self;
[self.view
addSubview:collectionView];
}
实现代理方法
#pragma mark --UICollectionViewDataSource
//定义展示的UICollectionViewCell的个数
-(NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section
{
return 31;
}
//定义展示的Section的个数
-(NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView
{
return 1;
}
//每一个UICollectionView展示的内容
-(UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath
*)indexPath
{
UICollectionViewCell * cell = [collectionView
dequeueReusableCellWithReuseIdentifier:_CELL
forIndexPath:indexPath];
cell.backgroundColor = [UIColor
colorWithRed:((arc4random()%255)/255.0)
green:((arc4random()%255)/255.0)
blue:((arc4random()%255)/255.0)
alpha:1.0f];
return cell;
}
#pragma mark --UICollectionViewDelegate
//UICollectionView被选中时调用的方法
-(void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath
*)indexPath
{
UICollectionViewCell * cell = (UICollectionViewCell *)[collectionView
cellForItemAtIndexPath:indexPath];
cell.backgroundColor = [UIColor
colorWithRed:((arc4random()%255)/255.0)
green:((arc4random()%255)/255.0)
blue:((arc4random()%255)/255.0)
alpha:1.0f];
}
//返回这个UICollectionViewCell能否够被选择
-(BOOL)collectionView:(UICollectionView *)collectionView shouldSelectItemAtIndexPath:(NSIndexPath
*)indexPath
{
return YES;
}
#pragma mark --UICollectionViewDelegateFlowLayout
//定义每一个UICollectionView 的大小
- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout
sizeForItemAtIndexPath:(NSIndexPath *)indexPath
{
return CGSizeMake(90,
90);
}
//定义每一个UICollectionView 的边距
-(UIEdgeInsets)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout
*)collectionViewLayout insetForSectionAtIndex:(NSInteger)section
{
return
UIEdgeInsetsMake(10,
10,
10,10);
}
这样一个简单地UICollection视图就完毕了
相关文章推荐
- xamarin ios UIPickerView
- iOS UI基础-12.0 Storyboard
- UIButton 左对齐 省略号最右边
- 【leetcode】 225. Implement Stack using Queues
- UiAutomator Demos
- 使UItableViewCell 变为可删除状态
- js中退出语句break,continue和return(语句详解)
- iOS中UITextField输入判断小数点后两位
- 海量时间序列数据的实时查询系统(Druid系统)概述
- PAT 1101. Quick Sort (25)
- mySQL中删除unique key的语法 (删除某个字段的唯一性)
- 自定义UISlider的样式和滑块
- 关于execute、executeUpdate、executeQuery三者返回值的区别
- UIPageViewController
- iOS开发学习之无限滚动UICollectionView和BUG解决措施
- Druid:一个用于大数据实时处理的开源分布式系统
- UILabel小结
- iOS UI基础-11.0 UINavigationController
- iOS 【UIKit-关于userInteractionEnabled的属性的理解】
- BuildTask & BuildType