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