1准备
2.设置CollectionView
// FlowLayout布局
UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayout alloc]init];
//设计方向
// layout.scrollDirection = UICollectionViewScrollDirectionHorizontal;
_collectionView = [[UICollectionView alloc]initWithFrame:[UIScreen mainScreen].bounds collectionViewLayout:layout];
[self.view addSubview:_collectionView];
// 设置代理
_collectionView.delegate = self;
_collectionView.dataSource = self;
// 注册cell
[_collectionView registerClass:[UICollectionViewCell class] forCellWithReuseIdentifier:kCellID];
// 背景颜色默认为黑色
_collectionView.backgroundColor = [UIColor whiteColor];
3.实现代理方法(常用的几个举例)
//cell个数
-(NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section{
return [self.dataList[section] count];
}
//cell组数
-(NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView{
return [self.dataList count];
}
//cell大小
-(CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath{
return CGSizeMake(kWidthOfCell, kWidthOfCell);
}
//cell之间的距离 系统会根据数值自动调节
-(UIEdgeInsets)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout insetForSectionAtIndex:(NSInteger)section{
return UIEdgeInsetsMake(5, 5, 5, 5);
}
//cell的关键代理
-(UICollectionViewCell*)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath{
UICollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:kCellID forIndexPath:indexPath];
cell.contentView.backgroundColor = [UIColor greenColor];
return cell;
}
//点击cell触发的代理
-(void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath{
NSLog(@"%@",self.dataList[indexPath.section][indexPath.item]);
}