默认情况下,集合视图中的单元格将在它们之间添加空格,以便到达集合视图的边框之间。在我为iPad制作的应用程序中,我需要能够并排强制单元格(间距= 0)。作为流布局或集合视图单元的一部分,没有包含任何方法,所以有没有办法可以做到这一点?
答案 0 :(得分:3)
您要寻找的是flowLayout的以下属性:minimumInterimSpacing
和minimumLineSpacing
如果将它们设置为0,则collectionView中的项目之间将没有间距。
在代码中,您通常会这样做(没有Storyboard):
override func loadView() {
super.loadView()
//
// layout
//
let layout = UICollectionViewFlowLayout()
layout.minimumInteritemSpacing = 0
layout.minimumLineSpacing = 10
//
// collectionView
//
self.collectionView = UICollectionView(frame: CGRectZero, collectionViewLayout: layout)
self.view.addSubview(collectionView)
}
如果要动态设置这些属性,请实现UICollectionViewFlowLayout的相应方法(也应该与Storyboard一起使用)。
class MyViewController: UIViewController,
UICollectionViewDelegate,
UICollectionViewDataSource,
UICollectionViewDelegateFlowLayout {
func collectionView(collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumInteritemSpacingForSectionAtIndex section: Int) -> CGFloat {
return 0
}
func collectionView(collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumLineSpacingForSectionAtIndex section: Int) -> CGFloat {
return 0
}
// the rest of your code
}
答案 1 :(得分:1)