首页 > 代码库 > iOS UICollectionView手写代码实现步骤

iOS UICollectionView手写代码实现步骤

iOS UICollectionView手写代码实现步骤

//

//  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);

}


iOS UICollectionView手写代码实现步骤