菜鸟教程小白 发表于 2022-12-12 22:24:27

ios - 如何在没有动画的情况下从 Collection View 中删除项目?


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

<p>使用 <code>reloadData</code> 会导致 Collection View 在每个对象被移除时闪烁。使用 <code>deleteItemsAtIndexPaths</code> 需要不受欢迎的动画。有什么方法可以在没有 <code>reloadData</code> 动画的情况下从 Collection View 中删除项目?</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>这是一个 Swift 5 版本,其实现方式略有不同:</p>

<pre><code>UIView.performWithoutAnimation {
    self.collectionView.performBatchUpdates({
      self.collectionView.insertItems(at: indexPaths)
    }, completion: nil)
}
</code></pre></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 如何在没有动画的情况下从 Collection View 中删除项目?,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/39907331/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/39907331/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 如何在没有动画的情况下从 Collection View 中删除项目?