uicollectionview的间距列
Posted
技术标签:
【中文标题】uicollectionview的间距列【英文标题】:inter spacing columns of uicollectionview 【发布时间】:2013-07-09 08:33:50 【问题描述】:我正在尝试使用 UICollectionView 创建一个单元格网格。 我会删除所有填充,单元格之间的间距。 我使用了布局方法和属性
-(CGFloat)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout minimumInteritemSpacingForSectionAtIndex:(NSInteger)section
return 0;
- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath
CGSize retval = CGSizeMake(120, 120);
return retval;
- (UIEdgeInsets)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout insetForSectionAtIndex:(NSInteger)section
return UIEdge
InsetsMake(0, 0, 0, 0);
但我总是在列之间得到一个空格。
【问题讨论】:
how do you determine spacing between cells in UICollectionView flowLayout的可能重复 不是重复的。在写问题之前,我查看了您引用的问题。 这是同一个问题——你希望你的单元格相互对接而没有空格,但是集合布局在单元格之间分配了额外的空间。重复的问题是要求同样的事情。我对my answer 的评论更详细地解释了这个问题,其他答案解释了如何创建一个左对齐项目的布局,在右边留下任何额外的空间。如果您要问不同的问题,请澄清问题。 【参考方案1】:默认情况下,UICollectionView
中的单元格总是均匀分布(水平边距相等),没有“单元格之间的最大距离”属性。如果您不希望列之间有空间,您应该选择将填充整个空间的单元格大小(即 iPad 在横向模式下为 256x256),或者通过子类化 UICollectionViewLayout
并将其与您的集合视图一起使用来制作您自己的自定义布局。
【讨论】:
【参考方案2】:您只是设置单元格之间的 最小 间距,这是您所能做的。看起来您的集合视图的宽度略大于适合该行的单元格的宽度,因此布局会在单元格之间分配额外的空间。您可以尝试以下两件事:
将集合视图的宽度设置为单元格宽度的倍数
创建您自己的 UICollectionViewLayout 子类,根据您的喜好排列单元格
【讨论】:
谢谢你们。我将实现一个 CustomLayout,并将结果发布在问题中。 最好在答案中发布结果。可以回答您自己的问题。以上是关于uicollectionview的间距列的主要内容,如果未能解决你的问题,请参考以下文章
在 iOS 的屏幕尺寸上,collectionview 列之间的间距不同