测试已测试 | ✓ |
语言语言 | SwiftSwift |
许可 | MIT |
发布最后发布 | 2017年2月 |
SwiftSwift 版本 | 3.0 |
SPM支持 SPM | ✓ |
由 Norbert Sroczyński 维护。
STXImageCache 是一个轻量级、纯 Swift、易于使用的图像下载和缓存库。它提供了方便的 UI 扩展。它受到了 Kingfisher 和 SDWebImage 等流行库的启发。
let url = URL(string: "image_url")!
imageView.stx.image(atURL: url)
let url = URL(string: "image_url")!
let placeholder = UIImage(named: "placeholder")
let operation = imageView.stx.image(atURL: url, placeholder: placeholder, progress: { progress in
// update progressView
}, completion: { image, _ in
// do image processing
return image
})
import UIKit
import STXImageCache
final class Cell: UITableViewCell {
var operation: STXImageOperation?
@IBOutlet weak var progress: UIProgressView!
override func prepareForReuse() {
super.prepareForReuse()
operation?.cancel()
}
func configure(withURL url: URL, placeholder: UIImage) {
imageView?.image = nil
progress.progress = 0
self.progress.isHidden = false
operation = imageView?.stx.image(atURL: url, placeholder: placeholder, progress: { progress in
DispatchQueue.main.async {
self.progress.setProgress(progress, animated: true)
}
}, completion: { image, _ in
DispatchQueue.main.async {
self.progress.isHidden = true
}
return image
})
}
}
所有源代码都根据 MIT 许可 许可。