iOS   发布时间:2022-03-30  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了objective-c – UICollectionView使用performBatchUpdates执行更新大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个UICollectionView,我试图动态/动画插入项目。所以我有一些异步下载图像并且想批量插入项目的功能

一旦我有了我的数据,我想做以下:

[self.collectionView performBatchUpdates:^{
    for (UIImage *image in images) {
        [self.collectionView insertItemsAtIndexPaths:****]
    }
} completion:nil];

现在代替***,我应该传递一个NSIndexPath数组,它应该指向要插入的新项目的位置。提供位置后,我很困惑,我该如何提供应该在该位置显示的实际图像?

谢谢

更新:

在从newImages的数据添加新数据之前,resultsSize包含数据源数组self.results的大小。

[self.collectionView performBatchUpdates:^{

    int resultsSize = [self.results count];
    [self.results addObjectsFromArray:newImages];
    NSMutableArray *arrayWithIndexPaths = [NSMutableArray array];

    for (int i = resultsSize; i < resultsSize + newImages.count; i++)
          [arrayWithIndexPaths addObject:[NSIndexPath indexPathForRow:i inSection:0]];

          [self.collectionView insertItemsAtIndexPaths:arrayWithIndexPaths];

} completion:nil];

解决方法

参见 Inserting,Deleting,and Moving Sections and Items从“ Collection View Programming Guide for iOS”:

所以在你的情况下,您必须首先将图像添加到集合视图数据源,然后调用insertItemsAtIndexPaths。然后,收集视图将要求数据源代理功能为插入的项目提供视图。

大佬总结

以上是大佬教程为你收集整理的objective-c – UICollectionView使用performBatchUpdates执行更新全部内容,希望文章能够帮你解决objective-c – UICollectionView使用performBatchUpdates执行更新所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: