水平集合视图不起作用
Horizontal collection view not working
我有一个水平的 UICollectionView,我希望它每列有一个项目,全部在一行中。这些物品大小不一。为此,我使用了这个 UICollectionViewFlowLayout:
let layout = UICollectionViewFlowLayout()
layout.sectionInset = UIEdgeInsets(top: 0, left: 50, bottom: 0, right: 50)
layout.scrollDirection = .horizontal
layout.minimumInteritemSpacing = CGFloat.greatestFiniteMagnitude
然后我用那个布局初始化了我的 UICollectionView。
项目尺寸正确,但有时它们会放在同一列中,这很糟糕。根据 this answer,我的最后一行应该可以解决问题,但没有。最后一行只是让项目之间的距离非常远。我还使用 collectionView.height
而不是 CGFloat.greatestFiniteMagnitude
进行了测试,但我得到了同样糟糕的结果。
我该如何解决这个问题,这可能是 Swift 4 错误吗? –– 这是在Swift 4
这似乎解决了问题。我不确定为什么会这样,但确实如此 :)
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumLineSpacingForSectionAt section: Int) -> CGFloat {
return view.frame.height
}
我有一个水平的 UICollectionView,我希望它每列有一个项目,全部在一行中。这些物品大小不一。为此,我使用了这个 UICollectionViewFlowLayout:
let layout = UICollectionViewFlowLayout()
layout.sectionInset = UIEdgeInsets(top: 0, left: 50, bottom: 0, right: 50)
layout.scrollDirection = .horizontal
layout.minimumInteritemSpacing = CGFloat.greatestFiniteMagnitude
然后我用那个布局初始化了我的 UICollectionView。
项目尺寸正确,但有时它们会放在同一列中,这很糟糕。根据 this answer,我的最后一行应该可以解决问题,但没有。最后一行只是让项目之间的距离非常远。我还使用 collectionView.height
而不是 CGFloat.greatestFiniteMagnitude
进行了测试,但我得到了同样糟糕的结果。
我该如何解决这个问题,这可能是 Swift 4 错误吗? –– 这是在Swift 4
这似乎解决了问题。我不确定为什么会这样,但确实如此 :)
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumLineSpacingForSectionAt section: Int) -> CGFloat {
return view.frame.height
}