iOS CollectionView : Display View, 然后下载图片,然后显示图片

标签 ios objective-c

我有一个 Collection View ,其中包含每个部分中的单元格,每个单元格中都有一个图像。

Collection View 可能包含 20 个或更多单元格。

我想将互联网上的图像加载到单元格中。问题是这可能需要几秒钟,我希望即使图像尚未完全下载也能显示 collectionView。

Collection View 被赋予一个包含 URL 的数组,到目前为止,我一直在 collection view cellforitematindexpath 中从互联网上下载

但是, View 只有在所有单元格都已加载后才可见,并且由于每次调用 collection view cellforitematindexpath 都会下载一张图像,如果从 URL 中提取 20 张图像,则需要长。

我该怎么做才能显示 View ,然后下载图像,然后显示它们?

希望我让自己明白,如果不明白,请问!

谢谢!

C

最佳答案

是的,您可以使用 SDWebImage(如上面评论中所述)。 您可能面临的另一个有趣的方面是,如果图像尚未加载并且用户 ScrollView ,则可能是 dequeueReusableCellWithReuseIdentifier:forIndexPath 的问题。 , 所以最好下载图片 throw id <SDWebImageOperation> .

准备重用将是这样的:

- (void)prepareForReuse
{
    [super prepareForReuse];

    if (self.imageOperation)
        [self.imageOperation cancel];

    self.imageOperation = nil;
}

加载将是这样的:

SDWebImageManager *manager = [SDWebImageManager sharedManager];    
self.imageOperation = [manager downloadWithURL:[NSURL URLWithString:urlString]
                                      options:SDWebImageRetryFailed
                                     progress:nil
                                    completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, BOOL finished) {
                                        if (image)
                                        {
                                            self.imageView.image = image;
                                        }
                                    }];

关于iOS CollectionView : Display View, 然后下载图片,然后显示图片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28768782/

相关文章:

objective-c - 将 UITableView 展开到完整尺寸?

iphone - 许多 NSDictionary 的 NSArray。为给定键找到具有必要值的 NSDictionary 的最佳方法是什么?

objective-c - 如何禁用 NSTextView 的 NSScrollView 滚动条上的鼠标悬停展开效果?

iphone - 在运行时添加标志(Xcode Instruments)

android - 如何在特定位置的图像顶部设置 react native 图像

iOS:缩放适合或填充 UIWebView 中的本地镜像?

ios - 如何从委托(delegate)在线程内构建我的单元格?

ios - 如何测试 Json 响应是否包含错误或正确的 json

ios - swift ,iOS 14 : where to find device logs?

android - React-native + Relay.js 的稳定构建