zoukankan      html  css  js  c++  java
  • UICollectionView添加 HeaderView FooterView

    UICollectionView显示HeaderView FooterView 不如UITableView那么容易,常用会有两种做法:

    1.Xib或者Storyboard 在属性一栏中设置一下:

    75D44C55-6F45-4F99-BBAD-C70CC6668540.png
    如图所示,

    2.代码设计Section的header和Footer:

    好多都在找UICollectionView是否有这么个属性,比如上图说到Accessories什么的,其实不然。大家首先要搞明白意见事情,header和footer是追加视图,属于layout中的所以要代码设置section要在UICollectionViewFlowLayout:

    - (UICollectionViewFlowLayout *) flowLayout{
        UICollectionViewFlowLayout *flowLayout = [[UICollectionViewFlowLayout alloc] init];
        flowLayout.。。。。。。//各属性设置
        flowLayout.headerReferenceSize = CGSizeMake(320.0f, 50.0f);  //设置headerView大小
        flowLayout.footerReferenceSize = CGSizeMake(320.0f, 50.0f);  // 设置footerView大小
        return flowLayout;
    }   
    
    如果你用的是Xib或者Storyboard,不想在上图属性设置,想用代码:
    - (void)viewDidLoad 
    {
        [super viewDidLoad];
        
        UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayout alloc] init];
        flowLayout.headerReferenceSize = CGSizeMake(320.0f, 50.0f);  //设置headerView大小
        [self.collectionView registerClass:[UICollectionReusableView class] forSupplementaryViewOfKind:UICollectionElementKindSectionHeader withReuseIdentifier:@"HeaderView"];  //  一定要设置
        [self.collectionView setCollectionViewLayout:layout];
      //(这部分说明可以参见xib设置sectionview)
    }
    
    - (UICollectionReusableView *) collectionView:(UICollectionView *)collectionView viewForSupplementaryElementOfKind:(NSString *)kind atIndexPath:(NSIndexPath *)indexPath
    {
        UICollectionReusableView *headerView = [collectionView dequeueReusableSupplementaryViewOfKind:UICollectionElementKindSectionHeader withReuseIdentifier:@"HeaderView" forIndexPath:indexPath];
        UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, WINSIZE.width, WINSIZE.width*7/15)];
        [imageView sd_setImageWithURL:[NSURL URLWithString:[UMOnlineConfig getConfigParams:@"GuizeImageUrl"]] placeholderImage:kDefaultImage192_124];
        [headerView addSubview:imageView];
        return headerView;
    }
    
    

    运行结果:

    C69DD622-3F70-432E-900E-60E76E181012.png

  • 相关阅读:
    windows 程序设计自学:窗口正中显示Hello,World
    为网站图片增加延迟加载功能,提升用户体验
    线性表顺序存储
    sys.stdout sys.stderr的用法
    python 跳出嵌套循环方法
    * 与 ** 在调用函数时的作用
    twisted 学习笔记二:创建一个简单TCP客户端
    给命令行上色
    __new__ 的简单应用
    网友对twisted deferr的理解
  • 原文地址:https://www.cnblogs.com/jyking/p/6737281.html
Copyright © 2011-2022 走看看