iOS-UICollectionView-头视图

作者: More_L | 来源:发表于2016-09-20 17:44 被阅读5095次
    • 让一个小伙伴说了排版的问题,重新进行了排版
    纯代码添加UICollectionView的头视图,最近项目中用到这个虽然简单记录下供大家看看。
    • UICollectionView和tableview都需要遵从代理和数据源的方法。
    • tableview添加头视图
     self.tableView.tableHeaderView = [[UIView alloc]init];
    
    相关代理方法
    -(UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section{}
    
    • UICollectionView 创建之前需要先写布局,每个collection都需要遵从这个布
      局。
    UICollectionViewFlowLayout *layout =[[UICollectionViewFlowLayoutalloc]init];
    layout.sectionInset =UIEdgeInsetsMake(0,0, 0, 0);
    layout.headerReferenceSize =CGSizeMake(YJTViewWidth,50*YJTRatioH);//头视图大小
    
    • 然后注册头视图
    [_collection registerClass:[UICollectionReusableViewclass] forSupplementaryViewOfKind:UICollectionElementKindSectionHeaderwithReuseIdentifier:@"header"];
    
    • 最后是头视图相关的代理方法在里面处理逻辑布局问题
    - (UICollectionReusableView *)collectionView:(UICollectionView *)collectionView viewForSupplementaryElementOfKind:(NSString *)kind atIndexPath:(NSIndexPath *)indexPath{
    UICollectionReusableView *header = [collectionViewdequeueReusableSupplementaryViewOfKind:UICollectionElementKindSectionHeaderwithReuseIdentifier:@"header"forIndexPath:indexPath];
    header.backgroundColor = RGB(236, 237,241);
    if (indexPath.section ==0) {
    labelOne.text =@"热门检查";
    labelOne.font = [UIFontsystemFontOfSize:14.0f];
    labelOne.textColor =MainRGB;
    [header addSubview:labelOne];
    }else{
    labelTwo.text =@"疾病信息";
    labelTwo.font = [UIFontsystemFontOfSize:14.0f];
    labelTwo.textColor =MainRGB;
    [header addSubview:labelTwo];
      }
    return header;
       }
    - (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout referenceSizeForHeaderInSection:(NSInteger)section {
    return CGSizeMake(头视图的宽, 头视图的高);
    }
    
    - (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout referenceSizeForFooterInSection:(NSInteger)section {
    return CGSizeMake(尾视图的宽, 尾视图的高);
    }
    

    相关文章

      网友评论

      • 梁森的简书:如何将UITableView设置为UICollectionView的头视图呢? UITableView的高度是不确定。 UITableView随着UICollectionView的滚动而滚动
        akzhang6666:@梁森森 意思是头部本来用UItableView实现的都改成UICollectionView的一种类型的cell 吗
        梁森的简书:@akzhang6666 后台换思路了,直接使用UICollectionView,毕竟UITableView的样式完全可以使用UICollectionView实现,直接使用UICollectionView不过多了一种cell的样式
        akzhang6666:后面解决了吗?UICollectionView 的头部是不确定高度的UITableView

      本文标题:iOS-UICollectionView-头视图

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