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];