我有一个水平的uicollectionView,我希望它每列有一个项目,全部为一行。这些项目的大小不同。为了做到这一点,我使用了此uicollectionViewFlowLayout:
let layout = UICollectionViewFlowLayout()
layout.sectionInset = UIEdgeInsets(top: 0, left: 50, bottom: 0, right: 50)
layout.scrollDirection = .horizontal
layout.minimumInteritemSpacing = CGFloat.greatestFiniteMagnitude
然后我用该布局初始化了我的uicollectionview。
项目大小是正确的,但是有时它们会放入同一列中,这很糟糕。根据这个答案,我的最后一行应该解决问题,但事实并非如此。最后一行只是使这些物品彼此相距甚远。我还使用collectionView.height
而不是CGFloat.greatestFiniteMagnitude
进行了测试,但是我得到了相同的不良结果。
我该如何解决此问题,这可能是一个迅速的4个错误? - - 这在Swift 4
这似乎解决了问题。我不确定为什么这起作用了:)
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumLineSpacingForSectionAt section: Int) -> CGFloat {
return view.frame.height
}