减lessUICollectionViewCells之间的空间

目的

我试图减less我的UICollectionViewCells之间的空间

我试过了

我试着inheritanceUICollectionViewFlowLayout并覆盖这个方法:

- (NSArray *) layoutAttributesForElementsInRect:(CGRect)rect { NSArray *answer = [[super layoutAttributesForElementsInRect:rect] mutableCopy]; for(int i = 1; i < [answer count]; ++i) { UICollectionViewLayoutAttributes *currentLayoutAttributes = answer[i]; UICollectionViewLayoutAttributes *prevLayoutAttributes = answer[i - 1]; NSInteger maximumSpacing = 4; NSInteger origin = CGRectGetMaxX(prevLayoutAttributes.frame); if(origin + maximumSpacing + currentLayoutAttributes.frame.size.width < self.collectionViewContentSize.width) { CGRect frame = currentLayoutAttributes.frame; frame.origin.x = origin + maximumSpacing; currentLayoutAttributes.frame = frame; } } return answer; } 

然后在我的UICollectionViewController viewDidLoad:

 SublassedcollectionViewLayout *space = [[SublassedcollectionViewLayout alloc]init]; self.collectionView.collectionViewLayout = space; 

问题

这只是让我的UICollectionViewCells更小。

编辑:我想减less从左到右,而不是从顶部到底部的间距。

任何帮助将不胜感激!

垂直间隔

在故事板中select您的collections视图。

然后改变…

在这里输入图像说明

更改

在这里输入图像说明

在这里输入图像说明

我也find了这个答案 ,也可能是有用的

水平间距

对于从左到右的间距,从我的testing中,只能改变屏幕边缘到第一个单元格的距离,称为Section Insets 。 您还可以使用Min Spacing For Cells更改单元格之间的最小间距,从0到x

将收集视图设置为这些设置会生成

在这里输入图像说明

在这里输入图像说明

将最小单元格间距更改为:

在这里输入图像说明

在这里输入图像说明

由此看来,只能从第一个和最后一个单元格调整左侧和右侧的填充(填充),然后调整单元格之间的最小距离。 其余的是自动计算的。

因此,要获得所需的效果,您需要更改这些值, 最小单元格间距部分插入