iOS UICollectionView 使用

应用场景:

UICollectionView 横滑和竖滑只支持一种,要是想兼用 必须套一下两个UICollectionView一起使用

基本使用

1:首先需要先添加UICollectionView的代理:UICollectionViewDelegate   UICollectionViewDataSource  UICollectionViewDelegateFlowLayout

2:UICollectionView 注册cell 注册header都在同一个地方

代码:

 iOS UICollectionView 使用_第1张图片

在cell中 写标识

static NSString *const Capital_HeaderCollectionViewCellId = @"Capital_HeaderCollectionViewCellId";

header大小

-(CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout referenceSizeForHeaderInSection:(NSInteger)section {

return :CGSizeZero;

}

header视图

- (UICollectionReusableView *) collectionView:(UICollectionView *)collectionView viewForSupplementaryElementOfKind:(NSString *)kind atIndexPath:(NSIndexPath *)indexPath{

    UICollectionReusableView *reusableview = nil;

    if (kind == UICollectionElementKindSectionHeader){

        Capital_HeaderCollectionViewCell *myHeaderView = [collectionView dequeueReusableSupplementaryViewOfKind:kind withReuseIdentifier:Capital_HeaderCollectionViewCellId forIndexPath:indexPath];

        if (indexPath.section == 1) {

             myHeaderView.title = @"免费体验";

        }else if (indexPath.section == 2){

            myHeaderView.title = @"资本价淘金股";

        }

        //在这里进行headerView的操作

        reusableview = myHeaderView;

    }

    return reusableview;

}

section数量

-(NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView {

row数量

- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section {

每个cell大小

- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath{

return CGSizeZero;

}

每个cell之间的距离 上左下右

-(UIEdgeInsets)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout insetForSectionAtIndex:(NSInteger)section {

return UIEdgeInsetsMake(0, 0, 0, 0);

}

每个itme 之间距离

- (CGFloat)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout minimumInteritemSpacingForSectionAtIndex:(NSInteger)section{

复用cell

- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath{

你可能感兴趣的:(UI)