OGeek|极客世界-中国程序员成长平台

标题: ios - 如何在没有动画的情况下从 Collection View 中删除项目? [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 22:24
标题: ios - 如何在没有动画的情况下从 Collection View 中删除项目?

我有一个支持 Collection View 的项目 ID 数组。当用户滚动浏览 Collection View 时,每个单元格都会获取该 ID 的对象,然后是与该对象关联的图像。如果一个对象碰巧没有与之关联的图像,我想从数组中删除该项目 ID,然后在屏幕上更新 Collection View 。问题是有很多没有图像的对象(很多更新),我需要立即更新 Collection View (没有时间制作动画)。

使用 reloadData 会导致 Collection View 在每个对象被移除时闪烁。使用 deleteItemsAtIndexPaths 需要不受欢迎的动画。有什么方法可以在没有 reloadData 动画的情况下从 Collection View 中删除项目?



Best Answer-推荐答案


这是一个 Swift 5 版本,其实现方式略有不同:

UIView.performWithoutAnimation {
    self.collectionView.performBatchUpdates({
        self.collectionView.insertItems(at: indexPaths)
    }, completion: nil)
}

关于ios - 如何在没有动画的情况下从 Collection View 中删除项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39907331/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://sqlite.in/) Powered by Discuz! X3.4