如何解决PinRemoteImage - 完成一张图片下载后,将另一张图片加载到 UIImageView
我正在尝试创建一个函数作为 UIImageView 的扩展,它使用 PinRemoteImage 逐步加载非渐进式图像。 传递给函数的 URL 提供了一个渐进式 PNG 图像,即使 self.pin_updateWithProgress 选项为真,它似乎也无法渐进加载。
我更改了服务器的实现,以便在将 /128 添加到图像 URL 末尾时服务器返回低分辨率图像。
然后我尝试首先将低分辨率图像(“/128”)加载到 UIImageView 中,然后是另一个 pin_setimage 将最终高分辨率图像加载到 UIImageView,使用低分辨率图像作为 placeHolder。
代码如下所示:
func setProgressively(url: URL,completion: @escaping (Bool) -> Void) {
guard let url128 = URL(string: "\(url.absoluteString)/128") else { return }
self.pin_setimage(from: url128) { [weak self] (result) in
self?.clear()
self?.pin_setimage(from: url,placeholderImage: result.image,completion: { [weak self] (finalresult) in
PINRemoteImageManager.shared().cache.removeObject(forKey: PINRemoteImageManager.shared().cacheKey(for: url128,processorKey: nil))
self?.pin_updateUI(with: finalresult)
})
completion(true)
}
}
func clear() {
pin_cancelImageDownload()
pin_clearImages()
}
但是,UIImageView 不会从低分辨率图像更新,或者它仅在某些情况下加载高分辨率图像。
有没有人尝试过类似的实现并知道更好的做法?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。