[英]Use SDWebImage to download two images at once
我正在研究使用SDWebImage将图像下载到我的应用程序中。 我想尽快显示图像,因此服务器上的每个图像都有两个版本。 一种低质量和一种高质量。 当前,我通过使用两个NSURLRequest
来实现此目的,每个图像版本一个。 此应用程序可以完美地运行,因为该应用程序将同时下载两个版本,显示低质量,然后在完成下载后将图像更改为高质量版本。
我试图通过使用以下方法来复制它:
[imageView setImageWithURL:lowURL];
[imageView setImageWithURL:highURL];
但是,当我运行该应用程序时,第二个调用会取消第一个调用。 任何与此有关的帮助将不胜枚举。
谢谢
除非没有其他更好的方法,否则修改框架不是解决问题的好方法。
在SDWebImage的UIImageView+WebCache.h
类别中,有针对这种情况的方法。
例如:
__weak UIImageView *weakImageView = imageView;
[imageView setImageWithURL:thumbURL placeholderImage:nil completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType) {
[weakImageView setImageWithURL:bigURL placeholderImage:image];
}];
如果查看UIImageView+WebCache.m
文件中的- (void)setImageWithURL:(NSURL *)url
,则会发现[self cancelCurrentImageLoad];
在第一行中,这是取消当前图像加载操作。 如果要同时加载这两者,则可以尝试注释掉此行以测试它是否可以按预期工作,如果不能,则最好尝试其他方法。
可能可以通过其他方式更好地解决此问题,甚至在显示之前尝试预取图像
这是这样做的快捷代码
let prefetcher = SDWebImagePrefetcher.shared()
let urls :[URL] = [URL(string: imageStringUrl)]
prefetcher.prefetchURLs(urls)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.