我需要创建一个UIcollectionview,其中包含每行3个单元格的单元格。在一定数量的单元格之后,假设为60,我需要显示具有图像视图单元格61(不同数据集)的大单元格。但是通过创建第61个图像单元格,我在61st上的普通数据将合并到这个图像单元格中,有没有办法计算它而不会影响我的数据阵列。感谢。
答案 0 :(得分:0)
以下是数据源部分:
var items = [Item]()
func numberOfSections(in collectionView: UICollectionView) -> Int {
let numberOfSections = 60/(items.count+1) + 1
return numberOfSections
}
func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
let numberOfSections = 60/(items.count+1) + 1
if section != numberOfSections - 1 {
return 60
}
let numberOfItems = items.count%60
return numberOfItems
}
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let itemIndex = indexPath.section * 60 + indexPath.row
let item = items[itemIndex]
// set cell from item …
}
然后,您需要使用UICollectionViewDelegate提供标题单元格:
func collectionView(_ collectionView: UICollectionView, willDisplaySupplementaryView view: UICollectionReusableView, forElementKind elementKind: String, at indexPath: IndexPath)
搜索SO以查找“willDisplaySupplementaryView”将向您展示如何实现此功能。祝你好运!