问题描述
您只是想知道为什么即使单元格的大小已经很小,我的集合视图仍仍显示1列。
func collectionView(_ collectionView: UICollectionView,layout collectionViewLayout: UICollectionViewLayout,sizeforItemAt indexPath: IndexPath) -> CGSize {
let flowayout = collectionViewLayout as? UICollectionViewFlowLayout
let space: CGFloat = (flowayout?.minimumInteritemSpacing ?? 0.0) + (flowayout?.sectionInset.left ?? 0.0) + (flowayout?.sectionInset.right ?? 0.0)
let size:CGFloat = (collectionView.frame.size.width - space) / 2.0
return CGSize(width: size,height: size)
}
这是我的委托代码。
这是collectionview故事板上的插入值
那样有2列解决方法
由于单元格的宽度和高度恒定,因此可以为布局设置一次ItemSize。使用委托来计算每个单元格可能不同的大小。
let layout = UICollectionViewFlowLayout()
let screenWidth = collectionView.bounds.width
let interItemSpacing = CGFloat(10)
let size = (screenWidth - interItemSpacing) / 2
layout.minimumInteritemSpacing = interItemSpacing
layout.itemSize = CGSize(width: size,height: size)
collectionView.collectionViewLayout = layout