UICollectionView 的应用 (集合视图)
来源:互联网 发布:南方cass软件多少钱 编辑:程序博客网 时间:2024/06/01 09:14
#import "ViewController.h"
#import "myCollectionCell.h"
#import "myCollectionHeadView.h"
#import "myCollectionFooterView.h"
@interface ViewController ()
@end
@implementation ViewController
- (void)viewDidLoad
{
[superviewDidLoad];
_allArr = [[NSMutableArrayalloc]initWithObjects:@"01.jpg",@"02.jpg",@"03.jpg",@"04.jpg",@"05.jpg",@"06.jpg",@"07.png",@"08.png",@"09.jpg",@"10.jpg",@"11.jpg",nil];
self.view.backgroundColor = [UIColorgrayColor];
self.mainView = [UIViewnew];
self.mainView.frame =self.view.frame;
[self.viewaddSubview:_mainView];
[selfaddCollectionView];
}
// 添加 collectionView
-(void)addCollectionView
{ // 创建布局
UICollectionViewFlowLayout *layout =[[UICollectionViewFlowLayoutalloc]init];
//布局 水平 与垂直方式默认是垂直
// layout.scrollDirection= UICollectionViewScrollDirectionHorizontal; // default is UICollectionViewScrollDirectionVertical
// 创建CollectionView
_CollectionView = [[UICollectionViewalloc]initWithFrame:CGRectMake(0, 30,IPHONE_WIDTH ,IPHONE_HEIGHT-50)collectionViewLayout:layout];
// // 设置头部
// [layout setHeaderReferenceSize:CGSizeMake(_CollectionView.bounds.size.width, 30)];
//
// // 设置尾部
//
// [layout setFooterReferenceSize:CGSizeMake(_CollectionView.bounds.size.width, 30)];
// 两个代理
_CollectionView.dataSource =self;
_CollectionView.delegate =self;
// 现实下滑滚动条 默认是 yes
_CollectionView.showsVerticalScrollIndicator =YES;
_CollectionView.alwaysBounceVertical =YES;
// _CollectionView.alwaysBounceHorizontal= YES;
_CollectionView.bounces =YES; // 是否反弹 默认是 yes
// 注册单元格 代码与xib
[_CollectionViewregisterClass:[myCollectionCellclass] forCellWithReuseIdentifier:@"cell"];
// [_CollectionView registerNib:<#(UINib *)#> forCellWithReuseIdentifier:<#(NSString *)#>]
// 注册头部 代码与xib
[ _CollectionViewregisterClass:[myCollectionHeadViewclass] forSupplementaryViewOfKind:UICollectionElementKindSectionHeaderwithReuseIdentifier:@"HeaderView"];
// [_CollectionView registerNib:<#(UINib *)#> forSupplementaryViewOfKind:<#(NSString *)#> withReuseIdentifier:<#(NSString *)#>]
// 注册尾部
[_CollectionViewregisterClass:[myCollectionFooterViewclass] forSupplementaryViewOfKind:UICollectionElementKindSectionFooterwithReuseIdentifier:@"FooterView"];
_CollectionView.backgroundColor = [UIColorcolorWithRed:0.466 green:1.000blue:0.306 alpha:1.000];
[self.mainViewaddSubview:_CollectionView];
}
#pragma mark ---CollectionViewDataSource
// 分区单元格数
-(NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section
{
return_allArr.count;
}
// 单元格 内容
-(UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
{
myCollectionCell * cell = [collectionViewdequeueReusableCellWithReuseIdentifier:@"cell"forIndexPath:indexPath];
cell.imgView.image=[UIImageimageNamed:_allArr[indexPath.row]];
return cell;
}
//- (NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView
//{
//
//}
// 设置 补充元素 ---头尾内容
- (UICollectionReusableView *)collectionView:(UICollectionView *)collectionView viewForSupplementaryElementOfKind:(NSString *)kind atIndexPath:(NSIndexPath *)indexPath
{
UICollectionReusableView * reusebleView =nil;
if (kind ==UICollectionElementKindSectionHeader)
{
myCollectionHeadView * HeaderView =[collectionView dequeueReusableSupplementaryViewOfKind:UICollectionElementKindSectionHeaderwithReuseIdentifier:@"HeaderView" forIndexPath:indexPath];
HeaderView.titlelable.text =@"collectionView 的头";
reusebleView =HeaderView;
}
else
if (kind ==UICollectionElementKindSectionFooter)
{
myCollectionFooterView * FooterView =[collectionView dequeueReusableSupplementaryViewOfKind:UICollectionElementKindSectionFooterwithReuseIdentifier:@"FooterView" forIndexPath:indexPath];
FooterView.titlelable.text =@"collectionView 的尾";
reusebleView =FooterView;
FooterView.titlelable.frame =CGRectMake(0, 0, IPHONE_WIDTH, 20);
}
return reusebleView;
}
#pragma mark ---UICollectionViewDelegateFlowLayout 布局设置
/**
- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath;
- (UIEdgeInsets)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout insetForSectionAtIndex:(NSInteger)section;
- (CGFloat)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout minimumLineSpacingForSectionAtIndex:(NSInteger)section;
- (CGFloat)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout minimumInteritemSpacingForSectionAtIndex:(NSInteger)section;
- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout referenceSizeForHeaderInSection:(NSInteger)section;
- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout referenceSizeForFooterInSection:(NSInteger)section;
*/
// 每个cell 的 尺寸
- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath
{
return CGSizeMake(100, 150);
}
// 最小的 行间距
-(CGFloat)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout minimumLineSpacingForSectionAtIndex:(NSInteger)section
{
return 5;
}
// 最小的列间距
- (CGFloat)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout minimumInteritemSpacingForSectionAtIndex:(NSInteger)section
{
return 0;
}
// 头的尺寸
-(CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout referenceSizeForHeaderInSection:(NSInteger)section
{
return CGSizeMake(IPHONE_WIDTH, 20);
}
// 尾的尺寸
-(CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout referenceSizeForFooterInSection:(NSInteger)section
{
return CGSizeMake(IPHONE_WIDTH, 20);
}
// section 的内边距 设置 上/左/下/右 边距
-(UIEdgeInsets)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout insetForSectionAtIndex:(NSInteger)section
{
return UIEdgeInsetsMake(10, 10, 10, 10);
}
#pragma mark ------UICollectionViewDelegate
- (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath
{
}
@end
- UICollectionView 的应用 (集合视图)
- UICollectionView 集合视图 的使用
- 应用集合视图(UICollectionView)-创建UICollectionViewCell子类单元格
- CYC-集合视图 UICollectionView的简单使用
- iOS中UICollectionView(集合视图)的使用
- UICollectionView和UICollectionReusableView的使用(集合视图)
- UICollectionView-集合视图(理论篇)
- 关于集合视图UICollectionView
- UICollectionView 集合视图
- UICollectionView 集合视图详解
- UICollectionView 集合视图详解
- iOS8 UICollectionView 集合视图
- UICollectionView 集合视图
- 42.集合视图(UICollectionView)
- UICollectionView 集合视图
- 集合视图UICollectionView
- 集合视图 UICollectionView
- 52.集合视图UICollectionView
- vi 多行添加注释,删除注释,多行操作
- 汇编语言中寄存器的作用
- Linux常用命令
- UML画图总结
- 解决wireshark没有回环地址
- UICollectionView 的应用 (集合视图)
- 堆 和 栈的 区别(经典)
- MfC打开过程详解及应用
- VS2010下配置OpenCV2.2
- HR 告诉你:用邮箱发简历应注意哪些
- Docker libcontainer unifies Linux container powers
- POJ 3264 RMQ模板
- 怎样打包静态库
- 算法笔记02--归纳法之多项式求值(Horner规则)