ios - SDWebImage 显示缓存中图像的占位符

标签 ios sdwebimage

在 iOS 5.1 项目 (iPad) 中使用 SDWebImage 3。

我们显示相当大的图像(700x500),并且我们有很多图像(+1000)。我们预取图像并缓存到磁盘,然后允许用户浏览它们。

效果很好。除了当您浏览图像时,您总是会看到占位符显示一小会儿,从而产生非常烦人的效果。

在我的用例中,等待一小段时间来检查磁盘缓存和处理比显示占位符不到半秒(它基本上只是闪烁)要好得多。

我的问题与此类似:How to get filesystem path to image cached with SDWebImage (iOS) 。注意:在我看来,尝试细化缓存的文件系统路径的方法是错误的。我只是引用它,因为它也解释了我的用例。

我希望有一种方法告诉 SDWebImage 如果图像位于本地存储中则不要使用占位符。如果我做不到,我可能需要寻找其他库(我欢迎建议)。

注意:我们还使用 RestKit (0.20) + AFNetworking。

最佳答案

按照@sergio的建议,我修改了SDWebImage。对于任何感兴趣的人,有一个该项目的 fork 版本:https://github.com/josea/SDWebImage

用法是: [imageView setImageWithURL:url placeholderImage:[UIImage imageNamed:@"placeholder.png"]syncDiskLoad:YES];

我将向所有者提出拉取请求,以查看我的更改是否已合并到主分支中。

更新:

您可以这样做以避免闪烁(这适用于项目的主分支):

[imageView setImageWithURL:url placeholderImage:imageView.image options:0 
 progress:^(NSUInteger receivedSize, long long expectedSize) {
        imageView.image = [UIImage imageNamed:@"QuestionMarkFace.png"];
 } completed:nil];

关于ios - SDWebImage 显示缓存中图像的占位符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15034283/

相关文章:

android - 如何在应用程序中构建小程序(又名tinyapp)框架?

ios - WKWebView 转到大约 :blank page after appearing

ios - 像小翅膀一样的硬币收藏品

ios - 使用 iOS 的 UITableView,如果单元格在图像下载到其中之前已经出队怎么办?

iphone - SDWebImage 在缓存之前处理图像

ios - 使用 SDWebImage 下载大图像时应用程序崩溃

iOS:覆盖 UIAppearance 外观WhenContainedInInstancesOfClasses

ios - Swift:符合带有 "where"子句的通用方法协议(protocol)

ios - SDWebImage 正在部分加载,即使在终止应用程序后也不会加载回来

ios - 在 Swift 中使用 SDWebImage 问题