ios UICollectionView单元格之间的顶部/底部分离

我有一个集合视图,工作正常,我已经调整了X填充的分离,

它工作正常,但对于单元格之间的Y填充,似乎不适应NO分离

这是我的布局代码

UICollectionViewFlowLayout *layoutItem=[[UICollectionViewFlowLayout alloc] init]; layoutItem.sectionInset = UIEdgeInsetsMake(0, 0, 0, 0); 

在这里输入图像说明 那么我怎样才能设置顶部/底部的分离到0px? 细胞之间?

谢谢!

你会在第一次看到只有顶部y填充。 而为了显示底部y填充,您需要更多的数据,即CollectionView框架的高度。 当你向上滚动集合视图时,你会看到底部的y填充。

我用这样的collectionView

https://stackoverflow.com/a/17856406/1305001

当我设置

 - (UIEdgeInsets)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout insetForSectionAtIndex:(NSInteger)section { return UIEdgeInsetsMake(60, 10, 50, 10); } 

输出将作为第一次

在这里输入图像说明

当你滚动collectionView你会看到底部填充..

在这里输入图像说明

使用这个单元格之间的垂线间距

 - (CGFloat)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout minimumLineSpacingForSectionAtIndex:(NSInteger)section { return 5; } 

会看起来像

在这里输入图像说明

您还可以使用集合视图stream布局以更简单的方式进行操作。

设置stream程布局(记得在你的头文件中添加委托):

 UICollectionViewFlowLayout * stickerFlowLayout = [[UICollectionViewFlowLayout alloc] init]; stickerFlowLayout.scrollDirection = UICollectionViewScrollDirectionHorizontal; **stickerFlowLayout.minimumLineSpacing = 10;** stickerFlowLayout.minimumInteritemSpacing = 5; stickerFlowLayout.sectionInset = UIEdgeInsetsMake(10, 25, 20, 25); // Set up the collection view collectionView = [[UICollectionView alloc] initWithFrame:CGRectZero collectionViewLayout:stickerFlowLayout]; collectionView.delegate = self; collectionView.dataSource = self; etc 

正如您所看到的,我们可以使用以下方法轻松设置行距:

 **stickerFlowLayout.minimumLineSpacing = 10;** 

我们也可以改变其他属性

 stickerFlowLayout.minimumInteritemSpacing = 5; 

由于影响项目间距的项目间距(类似但与行间距不同)

使用stream程布局,您可以节省大量的代码,并在一个地方以编程方式设置您的集合视图(只需设置插入和行距立即为我节省了两个额外的不必要的function)