集合视图单元格之间的空间始终为 0

Posted

技术标签:

【中文标题】集合视图单元格之间的空间始终为 0【英文标题】:Space between collection view cells is always 0 【发布时间】:2018-06-13 11:52:23 【问题描述】:

我试图在我的单元格之间留出一个空格,但由于某种原因它总是为 0。我做错了什么?

import UIKit

class AlbumPlayerProgressBar: UICollectionView 

    ...

    required init?(coder aDecoder: NSCoder) 
        super.init(coder: aDecoder)
        self.register(UINib(nibName: "ProgressBarCell", bundle: nil), forCellWithReuseIdentifier: NSStringFromClass(ProgressBarCell.self))
        self.dataSource = self
        self.delegate = self
    


extension AlbumPlayerProgressBar: UICollectionViewDataSource

    func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int 
        return numOfSlides
    

    func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell 
        let cell = collectionView.dequeueReusableCell(withReuseIdentifier: NSStringFromClass(ProgressBarCell.self), for: indexPath) as! ProgressBarCell

        ...
        return cell
    


extension AlbumPlayerProgressBar: UICollectionViewDelegateFlowLayout

    func collectionView(_ collectionView: UICollectionView, layout: UICollectionViewLayout, sizeForItemAt: IndexPath) -> CGSize
           
        return CGSize(width: segmentWidth, height: segmentHeight)
    

    func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumInteritemSpacingForSectionAt section: Int) -> CGFloat
    
        return 100
    

【问题讨论】:

你的分段宽度是多少? 【参考方案1】:

您可以使用 minimumInteritemSpacingForSectionAtminimumLineSpacingForSectionAt ,并将返回值设置为您想要的空间:

func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumLineSpacingForSectionAt section: Int) -> CGFloat 
    return 1.0


func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumInteritemSpacingForSectionAt section: Int) -> CGFloat 
    return 1.0

【讨论】:

以上是关于集合视图单元格之间的空间始终为 0的主要内容,如果未能解决你的问题,请参考以下文章

集合视图控制器单元格间距

集合视图第一个单元格大小问题

集合视图单元格之间的线非常细

iOS:自适应集合视图单元格宽度

集合视图单元格在顶部留下空间

Swift:UICollectionView - 固定单元格之间的空间