关于UICollectionView 无法展示头部和尾部问题

之前有个需求 ,让实现九宫格 ,然后自己就封装了一个layout ,但是后来需求让加一个头部和尾部,实现了没有展示,最后发下问题:

我自己封装的layout 是继承UICollectionViewLayout,没有添加对于的heard和bottom;
应改成UICollectionViewFlowLayout进行操作,下面说一种具体实现

1

 #pragma mark -- 注册头部视图
        [_moreCollectionView registerClass:[LHHeardView class] forSupplementaryViewOfKind:UICollectionElementKindSectionHeader withReuseIdentifier:heardView];
        #pragma mark -- 注册尾部视图
        [_moreCollectionView registerClass:[UICollectionReusableView class] forSupplementaryViewOfKind:UICollectionElementKindSectionFooter withReuseIdentifier:footerView];

2

#pragma mark 头部和尾部 创建一个继承collectionReusableView的类,用法类比tableViewcell
- (UICollectionReusableView *)collectionView:(UICollectionView *)collectionView viewForSupplementaryElementOfKind:(NSString *)kind atIndexPath:(NSIndexPath *)indexPath {
     
    UICollectionReusableView *reusableView = nil;
    if ([kind isEqualToString:UICollectionElementKindSectionHeader]) {
     
        LHHeardView * heard = [collectionView dequeueReusableSupplementaryViewOfKind:UICollectionElementKindSectionHeader withReuseIdentifier:heardView forIndexPath:indexPath];
        return heard;
    } else if ([kind isEqualToString:UICollectionElementKindSectionFooter]) {
     
         reusableView = [collectionView dequeueReusableSupplementaryViewOfKind:UICollectionElementKindSectionFooter withReuseIdentifier:footerView forIndexPath:indexPath];
        [reusableView addSubview:self.uploadBtn];
    }
    return reusableView;
}

即可 ;

你可能感兴趣的:(ios随笔,UICollection加头部,UICollection加尾部,无法显示头部尾部问题)