重置uicollectionview

时间:2016-02-22 15:08:17

标签: ios swift uicollectionview swift2

我有一个看起来像

的集合视图

enter image description here

第一个单元格将保留一些文本,从第二个单元格开始,数据将从数据管理器中填充

要处理这个问题,我的代码就是这样的

override func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {
        if(indexPath.row==0){

            let cell = collectionView.dequeueReusableCellWithReuseIdentifier(customCellNibName, forIndexPath: indexPath) 

            let offer: TGOfferDataSource? = dataSource?.dataforIndexPath(indexPath) as? TGOfferDataSource
            cell.setOfferData(offer!)

            return cell
        }
        else if(indexPath.row != 0)
        {

            let cell = collectionView.dequeueReusableCellWithReuseIdentifier(cellNibName, forIndexPath: indexPath) 

            let product: TGProductDataSource? = dataSource?.dataforIndexPath(indexPath) as? TGProductDataSource
            cell.setProductData(product!)

            return cell
        }
}

问题是来自数据管理器的第一个产品隐藏在这个灰色单元格后面。

所以我想我将不得不在elseif部分增加索引路径。像elseif部分中的indexPath这样的东西也应该从0开始。 (Swift和细胞是xib)

知道该怎么做吗?

由于

看一下this但是如何在swift中做到这一点

EDIT 如果我删除了部分,它看起来像

enter image description here

1 个答案:

答案 0 :(得分:1)

您可以使用以下

在swift中创建新的NSIndexPath
let path = NSIndexPath(forRow: indexPath.row - 1, inSection: indexPath.section)

您可以将以上path传递给其他部分的dataforIndexPath。希望有所帮助!