iOS-集合视图-UIcollectionView


//
// ViewController.m
// UI20_UIcollectionView
//
// Created by YIem on 16/3/8.
// Copyright © 2016年 YIem. All rights reserved.
//
import "ViewController.h"
import "CollectionViewCell.h"
@interface ViewController ()<UICollectionViewDataSource, UICollectionViewDelegate>
@end
@implementation ViewController
(void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
self.view.backgroundColor = [UIColor whiteColor];
self.navigationItem.title = @"YIem";// UICollectionViewFlowLayout 是一个抽象类, 一般使用他的子类
UICollectionViewFlowLayout *flowL= [[[UICollectionViewFlowLayout alloc] init] autorelease];
// 注意 垂直与滚动方向的 是一行
// 注意, 最小- 系统会尽可能的向设置值靠近, 却不会小设置的最小值
// 最小行间距
flowL.minimumLineSpacing = 100;
// 最小列间距
flowL.minimumInteritemSpacing = 10;
// 单元大小
flowL.itemSize = CGSizeMake(20, 20);
// 区头间距
flowL.headerReferenceSize = CGSizeMake(5, 5);
// 区脚间距
flowL.footerReferenceSize = CGSizeMake(5, 5);
// 与屏幕四边的距离
flowL.sectionInset = UIEdgeInsetsMake(10, 30, 10, 30);
// 滚动方向
flowL.scrollDirection = UICollectionViewScrollDirectionHorizontal;// 参数1:界面大小
// 参数2:布局
UICollectionView *collectionV = [[UICollectionView alloc] initWithFrame:self.view.frame collectionViewLayout:flowL];
collectionV.backgroundColor = [UIColor greenColor];
collectionV.delegate = self;
collectionV.dataSource = self;
[self.view addSubview:collectionV];
[collectionV release];// 注册cell(重用)
[collectionV registerClass:[CollectionViewCell class] forCellWithReuseIdentifier:@"cell"];
}
- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section
{
return 100;
} - (UICollectionViewCell )collectionView:(UICollectionView )collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
{
CollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"cell" forIndexPath:indexPath];
// cell.backgroundColor = [UIColor redColor];
// CollectionViewCell *a = [[CollectionViewCell alloc] init];
cell.label.text =[NSString stringWithFormat:@"%ld", indexPath.row];
return cell;
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end

//
// CollectionViewCell.h
// UI20_UIcollectionView
//
// Created by YIem on 16/3/8.
// Copyright © 2016年 YIem. All rights reserved.
//
import <UIKit/UIKit.h>
@interface CollectionViewCell : UICollectionViewCell
- (instancetype)initWithFrame:(CGRect)frame;
- (void)econt;
@property (nonatomic, retain) UILabel *label;
@end

//
// CollectionViewCell.m
// UI20_UIcollectionView
//
// Created by YIem on 16/3/8.
// Copyright © 2016年 YIem. All rights reserved.
//
import "CollectionViewCell.h"
@implementation CollectionViewCell
(instancetype)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {[self econt];}
return self;
}- (void)econt
{
self.label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 100, 50)];
_label.backgroundColor = [UIColor cyanColor];
_label.text = @"YIem";
[self.contentView addSubview:_label];
[_label release];
}
@end