collectionView怎么添加头视图

 我来答
就烦条0o
2017-04-17 · 知道合伙人软件行家
就烦条0o
知道合伙人软件行家
采纳数:33315 获赞数:46492
从事多年系统运维,喜欢编写各种小程序和脚本。

向TA提问 私信TA
展开全部
//  HomeViewController.m  
//  collection添加头部  
//  
//  Created by user on 15/10/10.  
//  Copyright (c) 2015年 user. All rights reserved.  
//  
#import "HomeViewController.h"  
#import "ConstomCell.h"  
static NSString *headerViewIdentifier = @"hederview";  
@interface HomeViewController ()<UICollectionViewDataSource,UICollectionViewDelegate>  
@property (nonatomic,strong) UIImageView *headerImage;  
@end  
@implementation HomeViewController  
- (void)viewDidLoad {  
    [super viewDidLoad];  
    //1.添加collectionview  
    [self addCollectionView];  
}  
-(void)addCollectionView  
{  
    UICollectionViewFlowLayout *layout=[[UICollectionViewFlowLayout alloc]init];  
    layout.minimumLineSpacing=20; //设置每一行的间距  
    layout.itemSize=CGSizeMake(100, 100);  //设置每个单元格的大小  
    layout.sectionInset=UIEdgeInsetsMake(0, 0, 50, 0);  
    layout.headerReferenceSize=CGSizeMake(self.view.frame.size.width, 250); //设置collectionView头视图的大小  
    UICollectionView *collectionView=[[UICollectionView alloc]initWithFrame:self.view.bounds collectionViewLayout:layout];  
    collectionView.frame=self.view.bounds;  
    //注册cell单元格  
   [collectionView registerNib:[UINib nibWithNibName:@"ConstomCell" bundle:nil] forCellWithReuseIdentifier:@"cell"];  
    //注册头视图  
    [collectionView registerClass:[UICollectionReusableView class] forSupplementaryViewOfKind:UICollectionElementKindSectionHeader withReuseIdentifier:headerViewIdentifier];  
    collectionView.backgroundColor=[UIColor whiteColor];  
    collectionView.delegate=self;  
    collectionView.dataSource=self;  
    [self.view addSubview:collectionView];  
}  
#pragma mark  返回多少行  
-(NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section  
{  
    return 13;  
}  
#pragma markk 返回的单元格  
-(UICollectionViewCell*)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath  
{  
    ConstomCell *cell=[collectionView dequeueReusableCellWithReuseIdentifier:@"cell" forIndexPath:indexPath];  
    return cell;  
}  
//  返回头视图  
- (UICollectionReusableView *)collectionView:(UICollectionView *)collectionView viewForSupplementaryElementOfKind:(NSString *)kind atIndexPath:(NSIndexPath *)indexPath  
{  
    //如果是头视图  
    if ([kind isEqualToString:UICollectionElementKindSectionHeader]) {  
         UICollectionReusableView *header=[collectionView dequeueReusableSupplementaryViewOfKind:kind withReuseIdentifier:headerViewIdentifier forIndexPath:indexPath];  
        //添加头视图的内容  
        [self addContent];  
        //头视图添加view  
        [header addSubview:self.headerImage];  
        return header;  
    }  
    //如果底部视图  
//    if([kind isEqualToString:UICollectionElementKindSectionFooter]){  
//          
//    }  
    return nil;  
}  
/* 
 *  补充头部内容 
 */  
-(void)addContent  
{  
    UIImageView *headerImage=[[UIImageView alloc]init];  
    headerImage.contentMode=UIViewContentModeScaleAspectFill;  
    headerImage.clipsToBounds=YES;  
    headerImage.frame=CGRectMake(0, 0, self.view.frame.size.width, 250);  
    headerImage.image=[UIImage imageNamed:@"mei"];  
    self.headerImage=headerImage;  
}  
@end
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式