写一个我们自己的类继承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的布局属性
原文链接:http://www.jianshu.com/p/b55c6040ee59
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。