1準備佈局
2.設置CollectionView設計
// FlowLayout佈局代理
UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayout alloc]init];it
//設計方向io
// layout.scrollDirection = UICollectionViewScrollDirectionHorizontal; class
_collectionView = [[UICollectionView alloc]initWithFrame:[UIScreen mainScreen].bounds collectionViewLayout:layout];List
[self.view addSubview:_collectionView]; scroll
// 設置代理queue
_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]);
}