【发布时间】:2019-01-20 21:11:30
【问题描述】:
我想用SDWebImage调整图片大小。
我尝试使用SDWebImageManagerDelegate的imageManager delegate方法。
但是,我不知道如何调用 imageManager 方法。
我的代码如下。
import UIKit
import SDWebImage
class testGraphic2ViewController: UIViewController, SDWebImageManagerDelegate {
@IBOutlet weak var imageView: UIImageView!
let postImageUrlStr = "https://firebasestorage.googleapis.com/v0/b/instagramclone-be6eb.appspot.com/o/posts%2FFBAE2BE9-F429-4D39-978C-DD2E24BF062D?alt=media&token=7b41569b-5451-4728-942c-6d43ec50350c"
override func viewDidLoad() {
super.viewDidLoad()
SDWebImageManager.shared().delegate = self
SDWebImageManager.shared().loadImage(with: URL(string: postImageUrlStr), options: [], progress: nil) { (image, data, error, cacheType, finished, url) in
self.imageView.image = image
}
}
func imageManager(_ imageManager: SDWebImageManager, transformDownloadedImage image: UIImage?, with imageURL: URL?) -> UIImage? {
print("imageManager is called!")
guard let image = image, let imageURL = imageURL else {
return nil
}
if (imageURL.lastPathComponent == "large" && (image.size.width > 1000 || image.size.width > 1000)) {
let targetSize = CGSize(width: 1000, height: 1000)
UIGraphicsBeginImageContextWithOptions(targetSize, false, image.scale)
image.draw(in: CGRect(origin: .zero, size: targetSize))
let scaledImage = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
return scaledImage
} else {
return image
}
}
如何调用 imageManager 方法?
【问题讨论】:
-
从 sd-webimage 下载图片后要调整大小吗?
-
是的,我想在下载后调整图片大小。
标签: ios swift swift3 swift4 sdwebimage