占位符图像作为缩略图(模糊),直到实际图像加载

Placeholder image as Thumbnail(blurred) until actual image loads

我有以下代码,用于在用户选择后显示全屏图像。

fullImage.kf.setImage(with: url)

在实际图片下载期间,我想显示一个占位符作为同一图片但缩略图尺寸拉长了。此缩略图在之前显示缩略图时被 Kingfisher 库缓存。

当我在没有 KF 库的情况下显示图像时,通过使用常规 iOS UIImage 下载器,它会显示缩略图拉伸后的模糊预览,然后显示实际图像。如何使用 KF 库实现这一点?

您可以使用如下所示的占位符图像

fullImage.kf.setImage(with: url, placeholder: UIImage(named: "placeholder"), options: nil, progressBlock: nil, completionHandler: nil)

但要显示缩略图,您必须单独下载缩略图。

如果您希望缩略图是来自网络的图像,您可以按照人们的建议进行操作 on GitHub

let cacheImage = ImageCache.default.retrieveImageInDiskCache(forKey: "cache")

let resource = ImageResource(downloadURL: imageURL, cacheKey: "cache")

imageView.kf.setImage(with: resource, placeholder: cacheImage, options: [.keepCurrentImageWhileLoading], progressBlock: nil, completionHandler: nil)

不过,您需要先找到一种下载缩略图的方法,这可以通过多种方式完成,例如使用 ImagePrefetcher