swift 中的远程图像大小
Remote image size in swift
我尝试在 tableview 单元格中显示多个图像(具有不同大小)。问题是,UIImageView (postImage
) 在图像仍在下载时处于默认大小。我想要的是 UIImageView (postImage
) 来显示下载图像的确切高度和宽度(就像下载图像的占位符)。
let postImageURL = posts.photoStdUrl
cell.request?.cancel()
if let image = self.postImageCache.objectForKey(postImageURL) as? UIImage {
cell.postPhoto.image = image
} else {
cell.postPhoto.image = nil
cell.request = Alamofire.request(.GET, postImageURL).validate(contentType: ["image/*"]).responseImage() {
(request, _, image, error) in
if error == nil && image != nil {
self.postImageCache.setObject(image!, forKey: request.URLString)
tableView.reloadRowsAtIndexPaths([indexPath], withRowAnimation: UITableViewRowAnimation.Fade)
cell.postPhoto.image = image
}
}
}
你可以看到这个link。下载数据并将其保存到 UIImage 对象后,您可以调用 image.size
获取图像大小 return CGSize 对象。
我尝试在 tableview 单元格中显示多个图像(具有不同大小)。问题是,UIImageView (postImage
) 在图像仍在下载时处于默认大小。我想要的是 UIImageView (postImage
) 来显示下载图像的确切高度和宽度(就像下载图像的占位符)。
let postImageURL = posts.photoStdUrl
cell.request?.cancel()
if let image = self.postImageCache.objectForKey(postImageURL) as? UIImage {
cell.postPhoto.image = image
} else {
cell.postPhoto.image = nil
cell.request = Alamofire.request(.GET, postImageURL).validate(contentType: ["image/*"]).responseImage() {
(request, _, image, error) in
if error == nil && image != nil {
self.postImageCache.setObject(image!, forKey: request.URLString)
tableView.reloadRowsAtIndexPaths([indexPath], withRowAnimation: UITableViewRowAnimation.Fade)
cell.postPhoto.image = image
}
}
}
你可以看到这个link。下载数据并将其保存到 UIImage 对象后,您可以调用 image.size
获取图像大小 return CGSize 对象。