1,添加代理协议及数据源
#import "ViewController.h"
@interface ViewController ()<UICollectionViewDelegateFlowLayout,UICollectionViewDataSource>
@end
2,设置代理,及一些基本设置
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
UICollectionViewFlowLayout *flowLayout = [[UICollectionViewFlowLayout alloc]init];
flowLayout.scrollDirection = UICollectionViewScrollDirectionVertical;
flowLayout.sectionInset = UIEdgeInsetsMake(20, 20, 20, 20);
UICollectionView *collect = [[UICollectionView alloc]initWithFrame:self.view.bounds collectionViewLayout:flowLayout];
collect.delegate = self;
collect.dataSource = self;
collect.backgroundColor = [UIColor colorWithRed:118/255.0 green:254/255.0 blue:221/255.0 alpha:0.6];
[collect registerClass:[UICollectionViewCell class] forCellWithReuseIdentifier:@"ID"];
self.view.backgroundColor = [UIColor blueColor];
[self.view addSubview:collect];
}
3,实现代理方法、数据源方法
- (NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView{
return 1;
}
- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section{
return 50;
}
- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath{
if (indexPath.row%3 == 0){
return CGSizeMake(50, 50);
}else{
return CGSizeMake(80, 80);
}
}
- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath{
UICollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"ID" forIndexPath:indexPath];
cell.backgroundColor = [UIColor colorWithRed:arc4random_uniform(255)/255.0 green:arc4random_uniform(255)/255.0 blue:arc4random_uniform(255)/255.0 alpha:1];
if (indexPath.row%3 == 0){
cell.layer.cornerRadius = 25;
}else{
cell.layer.cornerRadius = 40;
}
return cell;
}