美文网首页ios功能demo演示
iOS collectionView使用

iOS collectionView使用

作者: 路边的风景呢 | 来源:发表于2021-02-20 11:11 被阅读0次

只是做一下记录,以后懒得再写了 。

在viewDidload 里面添加并且注册 cell ,header,footer  。注意header 和footer 自定义的时候 新建一个view 继承 UICollectionReusableView 。

[self.view addSubview:self.collectionView];

    [self.collectionView registerClass:[YMHomeCell class] forCellWithReuseIdentifier:@"GoodsCell"];

    [self.collectionView registerClass:[YMHomeHeaderView class] forSupplementaryViewOfKind:UICollectionElementKindSectionHeader withReuseIdentifier:@"HeaderReusableView"];

    [self.collectionView registerClass:[YMHomeFooterView class] forSupplementaryViewOfKind:UICollectionElementKindSectionFooter withReuseIdentifier:@"FooterReusableView"];

具体设置

#pragma mark  ------------------ 懒加载

-(UICollectionView *)collectionView{

    if (!_collectionView) {

        UICollectionViewFlowLayout * layout = [[UICollectionViewFlowLayout alloc]init];

        _collectionView = [[UICollectionView alloc]initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT - STATUSHEIGHT - NAVGATIONHEIGHT - TABBARHEIGHT) collectionViewLayout:layout];

        _collectionView.delegate = self;

        _collectionView.dataSource = self;

        _collectionView.backgroundColor = [UIColor whiteColor];

        _collectionView.showsVerticalScrollIndicator = NO;

    }

    return  _collectionView;

}

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

    return15;

}

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

    return10;

}

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

    YMHomeCell * cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"GoodsCell" forIndexPath:indexPath];

    returncell;

}

//设置头部

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

    if ([kind isEqualToString:UICollectionElementKindSectionHeader]) {

        //header

        YMHomeHeaderView *header = [collectionView dequeueReusableSupplementaryViewOfKind:UICollectionElementKindSectionHeader withReuseIdentifier:@"HeaderReusableView" forIndexPath:indexPath];

        returnheader;

    }else if([kind isEqualToString:UICollectionElementKindSectionFooter]){

        //footer

        YMHomeFooterView *footer = [collectionView dequeueReusableSupplementaryViewOfKind:UICollectionElementKindSectionFooter withReuseIdentifier:@"FooterReusableView" forIndexPath:indexPath];

        returnfooter;

    }

    return [UICollectionReusableView new];

}

-(CGSize)collectionView:(UICollectionView*)collectionViewlayout:(UICollectionViewLayout*)collectionViewLayoutreferenceSizeForHeaderInSection:(NSInteger)section{

    if(section ==0) {

        return  CGSizeMake(0,0);

    }else{

        returnCGSizeMake(SCREEN_WIDTH,45);

    }

}

-(CGSize)collectionView:(UICollectionView*)collectionViewlayout:(UICollectionViewLayout*)collectionViewLayoutreferenceSizeForFooterInSection:(NSInteger)section{

    returnCGSizeMake(0,0);

}

- (CGSize)collectionView:(UICollectionView*)collectionViewlayout:(UICollectionViewLayout*)collectionViewLayoutsizeForItemAtIndexPath:(NSIndexPath*)indexPath{

    returnCGSizeMake(SCREEN_WIDTH/2,200);

}

- (UIEdgeInsets)collectionView:(UICollectionView*)collectionViewlayout:(UICollectionViewLayout*)collectionViewLayoutinsetForSectionAtIndex:(NSInteger)section{

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

}

- (CGFloat)collectionView:(UICollectionView*)collectionViewlayout:(UICollectionViewLayout*)collectionViewLayoutminimumLineSpacingForSectionAtIndex:(NSInteger)section{

    return8;

}

- (CGFloat)collectionView:(UICollectionView*)collectionViewlayout:(UICollectionViewLayout*)collectionViewLayoutminimumInteritemSpacingForSectionAtIndex:(NSInteger)section{

    return0;

}

最后的结果大概是这个样子

相关文章

网友评论

    本文标题:iOS collectionView使用

    本文链接:https://www.haomeiwen.com/subject/tkutfltx.html