【发布时间】:2020-08-17 23:25:47
【问题描述】:
您好,只是想知道为什么即使单元格的大小已经很小,我的集合视图仍在做 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故事板中插入的值
【问题讨论】:
-
首先,只需确认您向控制器确认
UICollectionViewDelegateFlowLayout,如果您这样做了,您的约束就会被打破。只需尝试手动减小单元格的大小并重置约束并尝试。 -
@SatyenChauhan 是的,我的控制器上有那个代表,我正在打印单元格的大小,并且它不到集合视图大小的一半。当我将 -1 放在大小上时,它将变为 2 列。不知道为什么我需要这样做才能将其更改为 2 列。
标签: ios swift xcode uicollectionview