I have 200px x 200px UIImageView on UICollectionViewCell that will display an image from URL. The problem is I don't know what resolution's image provided by the URL and I think it's better to resize it first before placing in UIImageView due to memory consumption.
I already use alamofire to download an image
let url = NSURL(string: "http:\(product.picUrl)")
self.imgProductItem.af_setImageWithURL(url!, placeholderImage: UIImage(named: "app_default-resize"))
I am wondering is there any method to resize it first before it use to place in UIImageView? And if any tips for download an image to save memory usage, I'd like to hear that.
Any help would be appreciated. Thank you.
You can use filters:
let url = URL(string: ...)!
let placeholder = UIImage(named: "app_default-resize")
let filter = AspectScaledToFillSizeFilter(size: imageView.frame.size)
imageView.af.setImage(withURL: url, placeholderImage: placeholder, filter: filter)
See https://github.com/Alamofire/AlamofireImage#image-filters-1.
For Swift 2 version, see previous revision of this answer.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With