collectionView纯代码使用

collectionView和tableView最大的不同之处就是需要自定义cell,所以第一步自定义collectionViewCell

1.自定义collection 


// 初始化 layout
   
UICollectionViewFlowLayout *flowLayout =[[ UICollectionViewFlowLayout alloc ] init ];
   
// 2. 设置每个格子的尺寸
    flowLayout.
itemSize = CGSizeMake ( 90 , 90 );
   
   
// 3. 设置整个 collectionView 的内边距
   
   
CGFloat paddingY = 20 ;
   
   
CGFloat paddingX = 20 ;
   
    flowLayout.
sectionInset = UIEdgeInsetsMake (paddingY, paddingX, paddingY, paddingX);
   
   
// 4. 设置每一行之间的间距
    flowLayout.
minimumLineSpacing = paddingY;
//    flowLayout.headerReferenceSize = CGSizeMake(SCREENWIDTH, 50);// 设置 headerView 的尺寸大小
    [flowLayout
setScrollDirection : UICollectionViewScrollDirectionVertical ]; // 设置滚动方向
   
// 初始化 ConllectionView
   
_commonConllectionView = [[ UICollectionView alloc ] initWithFrame : CGRectMake ( 0 , 0 , SCREENWIDTH , SCREENHEIGHT ) collectionViewLayout :flowLayout];
   
// 注册单元格
    [
_commonConllectionView registerClass :[ WCRCommonCollectionViewCell class ] forCellWithReuseIdentifier : @"commonCollectionCell" ];
//    _commonConllectionView
    //注册headerView 此处的ReuserIdentifier 必须和 cellForItemAtIndexPath 方法中一致  
    [ _commonConllectionView registerClass:[*** class] forSupplementaryViewOfKind:UICollectionElementKindSectionHeader withTeuseIdentifier @“reuableView”];
   
   
// 设置代理
   
_commonConllectionView . delegate = self ;
   
_commonConllectionView . dataSource = self ;
   
_commonConllectionView . backgroundColor = [ UIColor whiteColor ];
    [self.view addSubview:_commonConllectionView];

2.实现3个代理 DataSource,Delegate,DelegateFlowLayout

3.实现代理方法
-( NSInteger )numberOfSectionsInCollectionView:( UICollectionView *)collectionView
{
   
return 1 ;
}

-(
NSInteger )collectionView:( UICollectionView *)collectionView numberOfItemsInSection:( NSInteger )section{
   
return _commonConllectionArray . count ;
}

// 定义每个 UICollectionView 的大小
- (
CGSize )collectionView:( UICollectionView *)collectionView layout:( UICollectionViewLayout *)collectionViewLayout sizeForItemAtIndexPath:( NSIndexPath *)indexPath
{
    return CGSizeMake ( 100 , 100 );
}

-(
UICollectionViewCell *)collectionView:( UICollectionView *)collectionView cellForItemAtIndexPath:( NSIndexPath *)indexPath{
   
    WCRCommonCollectionViewCell *cell = (WCRCommonCollectionViewCell *)[collectionView dequeueReusableCellWithReuseIdentifier:@"commonCollectionCell" forIndexPath:indexPath];

    cell. commonInfo = _commonConllectionArray [indexPath. row ];
   
return cell;
}

你可能感兴趣的:(collectionView纯代码使用)