ios - 使用自动布局在某些单元格中加载图像

标签 ios autolayout swift2 uitableview

所以我有一个 Feed 显示用户发布的帖子(使用 Parse)。目前,该单元格包含标题、发布用户的个人资料图片、日期、内容(文本)、imageView(用于他们发布的图片)和一个喜欢和评论按钮。

我的问题是,使用自动布局显示他们发布的图像的最佳方法是什么。目前我一直将 imageView 高度设置为 0,然后在代码中引用 imageView 的恒定高度。 该应用程序拉下所有帖子并开始加载帖子的 tableView。

在单元格中加载图像的代码是

if let imageToFetch = post.objectForKey("postImage") as? PFObject {
self.postImageHeight.constant = 500
if let fetchImage = imageToFetch.objectForKey("image") as? PFFile{
    fetchImage.getDataInBackgroundWithBlock {
        (imageData: NSData?, error: NSError?) -> Void in
        if error == nil {
            if let imageData = imageData {
                let image = UIImage(data:imageData)
                self.postImage.image = image
                self.imageGesture(self.postImage)
            }
        }
    }
} else {
    //Make the size constarints of the image 0
    self.postImageHeight.constant = 0
}

但这似乎是一种不稳定的方法,因为我正在对图像高度进行硬编码。在这个问题上的任何帮助都会被应用。

最佳答案

您可以使用图像的 size 属性更改它们。但是为此,您需要使用此处引用的固定宽度 kImageWidth

self.postImageHeight.constant = kImageWidth * image.size.height / image.size.width
self.layoutIfNeeded()

关于ios - 使用自动布局在某些单元格中加载图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35905819/

相关文章:

ios - 我从哪里获得 iPhone SDK

ios - UIViewController 动画等到动画完成

ios - 动态大小的 TableView 创建 AutoLayout 问题

ios - 以编程方式创建具有多个标签的 UIView

ios - 如何在didMoveToView(Swift,SpriteKit)中注册触摸?

ios - 处理 JSON 时动画卡住

ios - 由于额外的高度限制,自动布局崩溃

ios - 罕见的 CoreData 崩溃 "nilOutReservedCurrentEventSnapshot"

ios - 我从 NSUserDefaults 得到的对象(字典)有问题

linux - Swift 2 和 Linux/OS X 的区别