如何保持uicollectionview单元格之间的间距

时间:2016-06-07 09:55:20

标签: ios swift uicollectionview uicollectionviewcell

在我的应用中,我正在使用UICollectionView。我想在UICollectionViewCell之间设置修复空间。那我怎么能这样做呢?

这是我的代码:

 func collectionView(collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumLineSpacingForSectionAtIndex section: Int) -> CGFloat {
    return 20

}

通过这一行我可以在单元格之间设置空间吗?

这是我的截图,请看这个。并让我知道如何在横向或纵向模式下设置固定距离

enter image description here enter image description here

4 个答案:

答案 0 :(得分:1)

也许,您需要实施以下方法。

- (CGFloat)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout minimumInteritemSpacingForSectionAtIndex:(NSInteger)section;

答案 1 :(得分:1)

您可以使用故事板 Min调整 UICollectionCell 之间的间距。 UICollectionView的间距属性。

enter image description here

在这里,您必须为单元格和线条设置最小间距值。

希望它会对你有所帮助。

答案 2 :(得分:0)

您还可以使用Collection View

的尺寸检查器管理间距

http://i.stack.imgur.com/Nvp3g.png

答案 3 :(得分:0)

如果您希望单元格之间有exact间距,则需要计算最适合的单元格大小,以便在考虑sectionInsets和CollectionView {{1 }}。例如

bounds

假设您的单元格大小相同,let desiredSpacing: CGFloat = 20.0 if let layout = self.collectionView?.collectionViewLayout as? UICollectionViewFlowLayout { layout.minimumLineSpacing = desiredSpacing let totalCellsContentWidth = self.collectionView!.bounds.width - layout.sectionInset.left - layout.sectionInset.right let numberOfCellsPerRow: CGFloat = 10 let numberOfSpacesPerRow = numberOfCellsPerRow - 1 let cellWidth = (totalCellsContentWidth - (numberOfSpacesPerRow * desiredSpacing) / numberOfCellsPerRow) layout.itemSize = CGSize(width: cellWidth, height: cellWidth) } 很简单,但在包装到下一行之前会扩展以适应行上的最大单元格。正如您所看到的那样,单元格间距有点复杂。