UICollectionView 中具有序列的小单元格大小和大单元格大小
Small And Big Cell Size with Sequence in UICollectionView
我想在我的 UICollectionView 中有 3 个小单元格,然后是 2 个大单元格,然后是 3 个小单元格,
我知道和这个函数有关系,但是我很困惑如何实现结果
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
}
请看截图
您可以像这样计算 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 是两个单元格之间所需的最小 space。
我想在我的 UICollectionView 中有 3 个小单元格,然后是 2 个大单元格,然后是 3 个小单元格,
我知道和这个函数有关系,但是我很困惑如何实现结果
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
}
请看截图
您可以像这样计算 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 是两个单元格之间所需的最小 space。