UICollectionView的使用

来源:互联网 发布:angularjs.min.js下载 编辑:程序博客网 时间:2024/06/16 20:16

代理方法:

<UICollectionViewDelegateFlowLayout,UICollectionViewDataSource,UICollectionViewDelegate>


#pragma mark --- 创建UICollectionView
- (void)createCollectionView{
    UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayout alloc]init];
    layout.itemSize = CGSizeMake(80, 80);
    layout.minimumInteritemSpacing = 0 ;
    layout.minimumLineSpacing = 10;
    layout.sectionInset = UIEdgeInsetsMake(10, 0, 0, 0);
    layout.headerReferenceSize = CGSizeMake(0, 60);
    
    _collectionView = [[UICollectionView alloc]initWithFrame:self.view.bounds collectionViewLayout:layout];
    _collectionView.delegate = self;
    _collectionView.dataSource = self;
    _collectionView.backgroundColor = kColor(231, 231, 231);
    [self.view addSubview:_collectionView];
    
    
    //注册cell
    [_collectionView registerNib:[UINib nibWithNibName:@"ProductCell" bundle:nil] forCellWithReuseIdentifier:kProductCellIdentifier];
    [_collectionView registerNib:[UINib nibWithNibName:@"HeaderCell" bundle:nil] forSupplementaryViewOfKind:UICollectionElementKindSectionHeader withReuseIdentifier:kHeaderIdentifier];
}


#pragma mark --collectionview的协议方法
- (NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView{
    return 2;
}

- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section{
    if (section == 0) {
        return self.buyArr.count;
    }else{
        return self.entArr.count;
    }
}

- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath{
    ProductCell *cell  = [collectionView dequeueReusableCellWithReuseIdentifier:kProductCellIdentifier forIndexPath:indexPath];
    if(indexPath.section == 0){
        Item *item = self.buyArr[indexPath.row];
        [cell showDataWithItem:item];
    }else{
        Item *item = self.entArr[indexPath.row];
        [cell showDataWithItem:item];
    }
    return cell;
}


- (UICollectionReusableView *)collectionView:(UICollectionView *)collectionView viewForSupplementaryElementOfKind:(NSString *)kind atIndexPath:(NSIndexPath *)indexPath{
    
    HeaderCell *cell = [collectionView dequeueReusableSupplementaryViewOfKind:kind withReuseIdentifier:kHeaderIdentifier forIndexPath:indexPath];
    if ([kind isEqualToString:UICollectionElementKindSectionHeader]) {
        if (indexPath.section == 0) {
            cell.titleLabel.text = @"购物";

        }else{
            cell.titleLabel.text = @"娱乐";

        }
    }
    return cell;
    
}


- (void)collectionView:(UICollectionView *)collectionView didDeselectItemAtIndexPath:(NSIndexPath *)indexPath{
    
}






头视图必须继承自:UICollectionReusableView

0 0
原创粉丝点击