Deleting cell in collectionView bug. image overlaid on image

Viewed 18

I have a collectionView and deleting cells in it seems wrong.

https://giphy.com/gifs/9VIPAbXq8GScmDNiZa

As you can see when i tried to delete first cell, image overlaid on image. it happens randomly

DataSource for Cell

func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
        guard let cell = collectionView.dequeueReusableCell(withReuseIdentifier: CollectionViewCell.identifier, for: indexPath) as? CollectionViewCell else { return UICollectionViewCell() }
        if let image = ImageModel.images[indexPath.row].image {
            cell.configureCell(image: image)
        }
        return cell
    }

Delegate for deleting

func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
        UIView.animate(withDuration: 0.5) {
            if let cell = collectionView.cellForItem(at: indexPath) as? CollectionViewCell {
                cell.image.center.x += 300 }
        } completion: { Bool in
            ImageModel.images.remove(at: indexPath.row)
            collectionView.deleteItems(at: [indexPath])
            collectionView.reloadData()
        }
    }

Delegate for downloading new Images

func scrollViewWillBeginDragging(_ scrollView: UIScrollView) {
        self.presenter?.fetchData()
    }

Also i have cell config with reusable cell

override func prepareForReuse() {
        super.prepareForReuse()
        self.image.image = nil
        self.image.center.x = 0
    }

What can be wrong with cell?

0 Answers
Related