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)