默认情况下,集合视图将尝试通过将它们均匀间隔来隔开集合中的单元格,以便有一个单元格触及集合视图的任一侧。例:
但是,当单元格太宽而无法在集合视图中的一行中放置多个单元格时,它会将单元格置于集合视图中。
是否有办法使居中单元格的行为(如第3张图片中)成为集合视图的默认值,以便各个单元格之间有0个空格,并且集合视图边缘的空间之间有空格?
答案 0 :(得分:0)
我的回答是使用精心设置的东西,如
let insets = UIEdgeInsets(top: yourvalues, left: yourvalues, bottom: yourvalues, right: yourvalues)
,
并将其提供给YourCollectionView.contentInset
或
func collectionView(collectionView: UICollectionView,
layout collectionViewLayout: UICollectionViewLayout,
insetForSectionAtIndex section: Int) -> UIEdgeInsets {
return sectionInsets
}
这应该有效! Lemme知道你是否有任何麻烦!
答案 1 :(得分:0)
不是我意识到的。你应该实现这样的东西:
func collectionView(_ collectionView: UICollectionView,
layout collectionViewLayout: UICollectionViewLayout,
sizeForItemAtIndexPath indexPath: NSIndexPath) -> CGSize {
CGFloat width = UIScreen.mainScreen().bounds.size.width
return CGSize(width, anyHeight)
}
然后在下面实现委托方法:
func collectionView(collectionView: UICollectionView,
layout collectionViewLayout: UICollectionViewLayout,
insetForSectionAtIndex section: Int) -> UIEdgeInsets {
return UIEdgeInsetsZero
}
如果适用,请确保实施旋转处理。