我希望在我的UICollectionView中重复使用3个小单元格,然后是2个大单元格,再重复3个小单元格,
我知道它与此功能有关,但我对如何实现结果感到困惑
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
}
请查看屏幕截图。
答案 0 :(得分:5)
您可以像这样计算indexPath.row
的模数。
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
if (indexPath.row % 5 == 3 || indexPath.row % 5 == 4) {
//return big cell size
let size = (collectionView.frame.size.width - minSpace) / 2
return CGSize(width: size, height: size)
}
else {
//return small cell size
let size = (collectionView.frame.size.width - minSpace) / 3
return CGSize(width: size, height: size)
}
}
注意:此处 minSpace 是两个单元格之间所需的最小空间。