UICollectionView(I)
2018-11-29 本文已影响0人
Harely
#define JScreen_Width [UIScreen mainScreen].bounds.size.width
UICollectionViewFlowLayout *flowLayout = [[UICollectionViewFlowLayout alloc] init];
UICollectionViewFlowLayout *flowLayout = [[UICollectionViewFlowLayout alloc] init];
CGFloat cellSpace = 6.0;
//每一个行有多少个item
NSInteger cellNumber = 3;
//item的宽度
CGFloat cellWidth = (JScreen_Width - 52) / cellNumber;
//item的高度
CGFloat cellHeight = cellWidth;
//item的size,这个也可以通过代理方法完成
flowLayout.itemSize = CGSizeMake(cellWidth, cellHeight);
//每个item的水平间距
flowLayout.minimumInteritemSpacing = cellSpace/2;
//每个item的竖直间距
flowLayout.minimumLineSpacing = cellSpace;
//第一行item距离顶部的距离,相当于UITableView的header的高度设置
flowLayout.headerReferenceSize = CGSizeMake(JScreen_Width, 0);
UICollectionView *selectView = [[UICollectionView alloc] initWithFrame:CGRectMake(20, 184, JScreen_Width -2*20, 200) collectionViewLayout:flowLayout];
#pragma mark -- UICollectionViewDelegateFlowLayout
//设置其边界(上,左,下,右)
- (UIEdgeInsets)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout insetForSectionAtIndex:(NSInteger)section {
if (self.chooseType == ChooseElementTypePicture) {
return UIEdgeInsetsZero;
}else{
return UIEdgeInsetsMake(-20, 20, 0, 20);
}
}
......
//还有其他代码就不贴出来了
效果图:
![](https://img.haomeiwen.com/i2959789/f297540429acaa9e.jpg)