延迟加载 UICollectionView 图像

Posted

技术标签:

【中文标题】延迟加载 UICollectionView 图像【英文标题】:Lazy Loading UICollectionView Images 【发布时间】:2016-06-12 14:35:39 【问题描述】:

UICollectionView 的每个单元格都有一个 UIImageView,我需要加载它们,以便在您滚动浏览集合时它们正确显示,并且每个图像在其索引路径的单元格上加载一次。

每张图片都是从 Kinvey 下载的。

下载每张图片的代码:

UICollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"Cell" forIndexPath:indexPath];    

UIImageView *imageView = [[UIImageView alloc]initWithFrame:CGRectMake(0, 0,  cell.bounds.size.width, cell.bounds.size.width)];

[cell addSubview:imageView];    

    [KCSFileStore downloadData:@"id for item at index path"] completionBlock:^(NSArray *downloadedResources, NSError *error) 

        if (error == nil) 

            KCSFile* file = downloadedResources[0];

            dispatch_async(dispatch_get_main_queue(), ^(void)

                imageView.image = [UIImage imageWithData:file.data];
            );

            NSLog(@"Downloaded.");

         else 

            NSLog(@"Error: %@", error.localizedDescription);
        

     progressBlock:nil];

“dispatch_async(dispatch_get_main_queue(), ^(void)...”是我试图解决异步下载图像的问题,但没有奏效。

提前致谢。

【问题讨论】:

您到底想做什么?在后台下载图片,滚动时应该会出现,不是吗? 【参考方案1】:

为什么您尝试下载图像。 如果您想使用第三方库对 collectionView 中的图像执行延迟加载。然后SDWebimages 是最好的第三方库。这个库不仅执行延迟加载,还提供多个其他选项。看看吧。

希望这将帮助您并解决您的问题。

【讨论】:

以上是关于延迟加载 UICollectionView 图像的主要内容,如果未能解决你的问题,请参考以下文章

将图像从 Parse 加载到 UICollectionView 单元格没有延迟

UICollectionView 加载延迟并且滚动非常颠簸

UIcollectionView 具有缓慢的图像加载和滚动

UICollectionView 在滚动 Alamofire 时将图像加载到错误的位置

uicollectionview 中的延迟加载

UICollectionView 水平滚动延迟加载单元格