UICollectionViewFlowLayout自定义

写一个我们自己的类继承UICollectionViewFlowLayout。然后需要实现四个方法

-(CGSize)collectionViewContentSize

{

CGFloat height=  ceil([[self collectionView]  numberOfItemsInSection:0]/5)*SCREEN_WIDTH/2;

return  CGSizeMake(SCREEN_WIDTH, height);

}//返回contentsize的总大小

//自定义布局必须YES

-(BOOL)shouldInvalidateLayoutForBoundsChange:(CGRect)newBounds

{

return YES;

}

- (UICollectionViewLayoutAttributes *)layoutAttributesForItemAtIndexPath:(NSIndexPath *)path{}//返回每个cell的布局属性

-(NSArray*)layoutAttributesForElementsInRect:(CGRect)rect

{

NSArray *array = [super layoutAttributesForElementsInRect:rect];

NSMutableArray* attributes = [NSMutableArray array];

for (NSInteger i=0 ; i < [array count]; i++) {

NSIndexPath* indexPath = [NSIndexPath indexPathForItem:i inSection:0];

[attributes addObject:[self layoutAttributesForItemAtIndexPath:indexPath]];

}

return attributes;

}//返回所有cell的布局属性



文/Fengxinliju(简书作者)
原文链接:http://www.jianshu.com/p/b55c6040ee59
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。
原文地址:https://www.cnblogs.com/anjiubo/p/5393353.html