//
// ViewController.h
// collectionView手写代码
//
// Created by yangxiuying on 14/11/28.
// Copyright (c) 2014年 lanjiying. All rights reserved.
//
#import <UIKit/UIKit.h>
@interface ViewController : UIViewController<UICollectionViewDataSource,UICollectionViewDelegate>
{
NSString * identifier;
}
//
// ViewController.m
// collectionView手写代码
//
// Created by yangxiuying on 14/11/28.
// Copyright (c) 2014年 lanjiying. All rights reserved.
//
#import "ViewController.h"
@interface ViewController ()
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
identifier = @"cell";
// 初始化layout
UICollectionViewFlowLayout * flowLayout =[[UICollectionViewFlowLayout alloc] init];
[flowLayout setScrollDirection:UICollectionViewScrollDirectionVertical];
// UIEdgeInsets top = {15,10,15,5};
// [flowLayout setSectionInset:top];
UICollectionView * collectionView =[[UICollectionView alloc] initWithFrame:CGRectMake(0, 30, 320, 480)collectionViewLayout:flowLayout];
//注册单元格
[collectionView registerClass:[UICollectionViewCell class]forCellWithReuseIdentifier:identifier];
//设置代理
collectionView.delegate = self;
collectionView.dataSource = self;
[self.view addSubview:collectionView];
}
#pragma mark - collectionView delegate
//设置分区
-(NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView
{
return 1;
}
//设置元素的的大小框
-(UIEdgeInsets)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout insetForSectionAtIndex:(NSInteger)section
{
UIEdgeInsets top = {30,15,30,15};
return top;
}
//每个分区上得元素个数
- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section
{
return 24;
}
//设置元素内容
-(UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
{
UICollectionViewCell * cell =[collectionView dequeueReusableCellWithReuseIdentifier:identifier forIndexPath:indexPath];
[cell sizeToFit];
cell.backgroundColor =[UIColor greenColor];
return cell;
}
//设置单元格宽度
//设置元素大小
-(CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath{
return CGSizeMake(140,160);
}
原文地址:http://blog.csdn.net/u010670117/article/details/41644151