如何将CollectionView单元格设置为从索引'1'而不是'0'开始-Swift

时间:2019-06-12 07:12:42

标签: ios swift uicollectionview uicollectionviewlayout

我有两个自定义单元格类HomeCellCreateCell。理想情况下,第一个单元格应该是CreateCell,而HomeCell's应该从索引'1'开始(在第一个创建单元格之后),但是当前CreateCell和第一个{{ 1}}是重叠的。有没有一种方法可以将HomeCell设置为从索引“ 1”开始?

如果需要提供更多代码,请告诉我。

HomeCell's

2 个答案:

答案 0 :(得分:2)

由于您要访问第1个索引的List的第0个元素,因此需要在cellForItemAt indexPath:

中稍作更改
cell.list = lists[indexPath.item - 1]

通过这种方式,您将从第一个索引开始HomeCell视图

此外,您将需要更改总项目数,因为还有其他创建单元格。

override func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
    return lists.count+1
}

答案 1 :(得分:0)

使用indexPath.item代替indexPath.row

override func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {

    if indexPath.item == 0 {
        let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "CreateCell", for: indexPath) as! CreateCell
        //configure your cell here...
        return cell
    } else {
        let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "HomeCell", for: indexPath) as! HomeCell
        cell.list = lists[indexPath.item]
        //configure your cell with list
        return cell
    }
}