关于collectionView的一些内容

  1. 新建cellectionViewide

    UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayout alloc]init];spa

    CollectionViewController *vc = [[CollectionViewController alloc]initWithCollectionViewLayout:layout];3d


2. 设置不显示滚动条orm

   self.collectionView.showsHorizontalScrollIndicator = NO;ci

   self.collectionView.showsVerticalScrollIndicator = NO;rem


3. 移除cell的子控件it

   当每一个cell中的子控件都不同的时候,咱们复用cell以前,须要移除cell里边的全部子控件io

    while (cell.contentView.subviews.firstObject) {im

        [cell.contentView.subviews.firstObject removeFromSuperview];layout

    }


4. 设置间距

//定义每一个UICollectionView 的间距(返回UIEdgeInsets:上、左、下、右)

-(UIEdgeInsets)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout insetForSectionAtIndex:(NSInteger)section {

    return UIEdgeInsetsMake(kStatus_Bar_Height, kGrdGap_Crdgap, kStatus_Bar_Height, kGrdGap_Crdgap);

}


// 设置两列之间的最小间隔

- (CGFloat)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout minimumInteritemSpacingForSectionAtIndex:(NSInteger)section {

    return kGrdGap_Crdgap;

}


// 设置最小行间距,也就是前一行与后一行的中间最小间隔

- (CGFloat)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout minimumLineSpacingForSectionAtIndex:(NSInteger)section {

    return kStatus_Bar_Height;

}


5. 设置cell的大小

- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath {

    CardStyleModel *csm = self.responseModel.cardStyle;

    

    CGFloat cardWidth = 0;

    if ((self.toInterfaceOrientation == UIInterfaceOrientationPortrait) || (self.toInterfaceOrientation == UIInterfaceOrientationPortraitUpsideDown)) {

        

        cardWidth = kScreen_Width - 2 * kGrdGap_Crdgap;

    }else if((self.toInterfaceOrientation == UIInterfaceOrientationLandscapeLeft) || (self.toInterfaceOrientation == UIInterfaceOrientationLandscapeRight)){

        cardWidth = (kScreen_Width - 3 * kGrdGap_Crdgap) * 0.5;

    }

    

    CGFloat cellWidth = cardWidth / [csm.colCount intValue];

    

    CGFloat cellHeight = cellWidth;

    

    CGFloat cardHeight = cellHeight * [csm.rowCount intValue];

    

    return CGSizeMake(cardWidth, cardHeight);

}

相关文章
相关标签/搜索