這就是我將影像從 web url 設定為 UIImageView 的方式:
import UIKit
extension UIImageView {
private var storage: Storageable {
Assembler.shared.resolve(Storageable.self)!
}
private var imageDownloader: ImageDownloaderable {
Assembler.shared.resolve(ImageDownloaderable.self)!
}
// MARK: - Internal
func setImage(with url: URL) {
downloadImage(with: url) { [weak self] image in
self?.image = image
}
}
func downloadImage(with url: URL, completion: @escaping ImageHandler) {
imageDownloader.setAuthorization(withToken: storage.bearerToken)
sd_setImage(with: url, placeholderImage: nil,
options: [.allowInvalidSSLCertificates, .avoidAutoSetImage]) { image, _, _, _ in
completion(image)
}
}
}
如何告訴 SDWebImage 庫將影像下采樣到特定大小,以減少記憶體使用。是否可以?
uj5u.com熱心網友回復:
在Github 上的 SDWebImage 的 Wiki中,您可以使用 Image Transformers 對下載的影像進行一些影像處理。
let transformer = SDImageResizingTransformer(size: CGSize(300, 300), scaleMode: .fill)
let imageView: UIImageView
imageView.sd_setImage(with: url, placeholderImage: nil, context: [.imageTransformer: transformer])
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/413452.html
標籤:
上一篇:如何將UISegmentedControl和SwiftUI形狀設定為相同的顏色?
下一篇:HTML基礎篇筆記
