双向滚动collectionView具有多个部分的数据问题

时间:2019-03-15 06:05:30

标签: ios swift uicollectionview

我有一个双向滚动的collectionView,其中包含50个部分,每个部分10个项目,每个部分3个显示单元格,并用相同的数据数组填充collectionView。 问题是每个部分的collectionView重复数据,我想在出现的部分中向用户显示不同的数据。 请帮忙! 这是我的代码:

 func numberOfSections(in collectionView: UICollectionView) -> Int {
    return 50
}

func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
    return 10
}

func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
    let cell = collectionView.dequeueReusableCell(withReuseIdentifier: contentCellIdentifier,
                                                  for: indexPath) as! UserCollectionCell

    cell.userImageView.kf.setImage(with: URL.init(string:  String().loadCorrectUrl(url:firebaseUsers[indexPath.row].image))) 
    cell.userNameLabel.text=firebaseUsers[indexPath.row].name
    if(selectedIndexPaths.contains(indexPath) ){
        cell.userBackgroudView.isHidden=false
    }
    else{
        cell.userBackgroudView.isHidden=true
    }
    }

    return cell
}

1 个答案:

答案 0 :(得分:1)

prepareForReuse中插入UserCollectionCell,并清除imageView和标签文本,以防止滚动显示重复数据

class UserCollectionCell: UICollectionViewCell {
    override func prepareForReuse() {
        super.prepareForReuse()
        self.userImageView.image = nil
        self.userNameLabel.text = nil
    }
}

希望有帮助