自定义布局:
@interface XMGLayout()@property (nonatomic,strong) NSMutableArray * arrAttributs;@end//边距static UIEdgeInsets inset={ 10.0,10.0,10.0,10.0};@implementation XMGLayout-(void)prepareLayout{ [super prepareLayout]; self.arrAttributs=[NSMutableArray array]; // NSInteger numberOfItem=[self.collectionView numberOfItemsInSection:0]; for (NSInteger i=0; i*)layoutAttributesForElementsInRect:(CGRect)rect{ //返回cell属性的集合 return self.arrAttributs;}-(CGSize)collectionViewContentSize{ return CGSizeMake(0, 600);}
//初始化(系统流式布局)
UICollectionViewFlowLayout * layout=[[UICollectionViewFlowLayout alloc]init];UICollectionView * collectionView= [[UICollectionView alloc] initWithFrame:CGRectMake(0, 0, 200, 100) collectionViewLayout:layout];collectionView.center = self.view.center;[self.view addSubview:collectionView]; collectionView.backgroundColor = [UIColor colorWithRed:76/255.0 green:76/255.0 blue:76/255.0 alpha:0.8]; collectionView.dataSource = self; collectionView.delegate = self; [collectionView registerClass:[UICollectionViewCell class] forCellWithReuseIdentifier:@"cell"];
//常用代理方法
//定义每个UICollectionViewcell 的大小- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath{}//定义UICollectionView 的 margin-(UIEdgeInsets)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout insetForSectionAtIndex:(NSInteger)section{}//UICollectionViewcell被选中时调用的方法-(void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath{}
//定义cell - (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath { } // -(NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView { }
// - (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section { }