我正在尝试减少我的UICollectionViewCells
之间的空间我尝试了继承UICollectionViewFlowLayout并重写此方法:
- (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缩小。
编辑:我希望从左到右而不是从上到下减小间距。
任何帮助将不胜感激!
答案 0 :(得分:6)
垂直间距
在故事板中选择您的收藏视图。
然后改变......
更改
要
我也发现这个answer,也可能有用
水平分隔
对于从左到右的间距,从我的测试中,您只能更改从屏幕边缘到第一个单元格的距离,称为截面插入。您还可以使用细胞最小间距
更改单元格之间的最小间距,从0到x将集合视图设置为这些设置会产生
将最小单元格间距更改为:
由此看来,您只能从第一个和最后一个单元格调整左侧和右侧(填充)的插入,然后调整单元格之间的最小距离。其余的是自动计算的。
为了获得理想的效果,您需要更改这些值,细胞最小间距和剖面插图