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.