集合视图单元格之间的空间始终为 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】:您可以使用 minimumInteritemSpacingForSectionAt 和 minimumLineSpacingForSectionAt ,并将返回值设置为您想要的空间:
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的主要内容,如果未能解决你的问题,请参考以下文章