swift

时间:2015-08-20 07:58:53

标签: ios swift uitableview uiimageview

我尝试在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
            }
        }
    }

1 个答案:

答案 0 :(得分:1)

https://developer.apple.com/library/prerelease/ios/documentation/UIKit/Reference/UIImage_Class/#//apple_ref/occ/instp/UIImage/size

您可以看到此链接。下载数据并将其保存到UIImage对象后,可以调用image.size来获取返回CGSize对象的图像大小。