UICollectionReusableView头视图

2018-07-10  本文已影响19人  coderhlt
- (void)viewDidLoad {
    [super viewDidLoad];
    UICollectionViewFlowLayout *layout=[[UICollectionViewFlowLayout alloc]init];
    layout.minimumLineSpacing = 1;//行与行的最小间距是1
    layout.minimumInteritemSpacing=1;//item列与列之间的最小间距是1
  layout.scrollDirection=UICollectionViewScrollDirectionVertical;
    
    //1.1设置头视图的大小
    layout.headerReferenceSize=CGSizeMake(100, 100);
    
    //1.2设置尾视图的大小
    layout.footerReferenceSize=CGSizeMake(100, 100);
    layout.itemSize=CGSizeMake(([UIScreen mainScreen].bounds.size.width-2)/3, 100);
     UICollectionView *collectionview=[[UICollectionView alloc]initWithFrame:CGRectMake(0, 0, [UIScreen mainScreen].bounds.size.width, [UIScreen mainScreen].bounds.size.height) collectionViewLayout:layout];
    collectionview.backgroundColor=[UIColor redColor];
    [self.view addSubview:collectionview];
    [collectionview registerClass:[UICollectionViewCell class] forCellWithReuseIdentifier:@"collectionviewcell"];

    //2.1注册头视图
    [collectionview registerClass:[UICollectionReusableView class] forSupplementaryViewOfKind:UICollectionElementKindSectionHeader withReuseIdentifier:@"headview"];
    
     //2.2注册尾视图
    [collectionview registerClass:[UICollectionReusableView class] forSupplementaryViewOfKind:UICollectionElementKindSectionFooter withReuseIdentifier:@"footview"];
    
    
    collectionview.delegate=self;
    collectionview.dataSource=self;
}
- (NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView{
    return 1;
}


- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section{
    return 21;
}
- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath {
    
   UICollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"collectionviewcell" forIndexPath:indexPath];
    cell.backgroundColor=[UIColor greenColor];
    return cell;
}

//3、返回头视图或尾部视图(头视图或尾部视图不设置大小的话,该代理方法不会走)
- (UICollectionReusableView *)collectionView:(UICollectionView *)collectionView viewForSupplementaryElementOfKind:(NSString *)kind atIndexPath:(NSIndexPath *)indexPath{
    UICollectionReusableView *reuseablebiew=nil;
    if ([kind isEqualToString:@"UICollectionElementKindSectionHeader"]) {//这是头视图
        UICollectionReusableView *headeview=[collectionView dequeueReusableSupplementaryViewOfKind:kind withReuseIdentifier:@"headview" forIndexPath:indexPath];
        headeview.backgroundColor=[UIColor yellowColor];
        reuseablebiew=headeview;
    }else{//这是尾视图
        UICollectionReusableView *footview=[collectionView dequeueReusableSupplementaryViewOfKind:kind withReuseIdentifier:@"footview" forIndexPath:indexPath];
        footview.backgroundColor=[UIColor purpleColor];
        reuseablebiew =footview;
    }
    
    return reuseablebiew;
    
}

上一篇下一篇

猜你喜欢

热点阅读