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

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

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

它工作正常。 除了在浏览图像时,您总会看到显示占位符的微小时刻,从而产生非常烦人的效果。

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

我的问题与此类似: 如何获取使用SDWebImage(iOS)缓存的图像的文件系统路径 。 注意:在我看来,尝试精简缓存的文件系统路径的方法是错误的。 我只是引用它,因为它也解释了我的用例。

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

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

按照@ sergio的建议我修改了SDWebImage。 对于任何感兴趣的人,都有一个项目的分叉版本: 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];