IOS:根据Swift中

时间:2016-06-10 10:07:32

标签: ios swift image tableview

所以我一直在尝试根据我从API调用获得的图像大小来调整tableView Cells的大小。

http://i.imgur.com/yUmISx1.png

我得到的图像比例为5:4。 我在屏幕截图中所做的事情是在

下固定的高度
override func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
    let viewWidth = self.view.frame.size.width
    let imageHeight = (viewWidth * 5) / 4
    return imageHeight
}

(我忽略了像Paddings和东西这样的小东西)

尽管图像看起来并不太糟糕,但我对我所做的事情并不满意。我也试过

func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
    if image != nil {
        return image.size.height
    } else {
        return DEFAULT_HEIGHT
    }
}

这给了我一个单元格大小,其中图像的高度被拉伸。做我想要实现的目标的正确方法是什么?

编辑:我想找到一种方法,以便图像自动调整自己。

例如, 现在,我从后端收到的图像比例为4:5。 假设情况如果他们将其改为1:1的比例,我希望它能够自我调整。有什么建议吗? 另外,当我添加宽高比时,我的故事板会变得疯狂。 TIA!

1 个答案:

答案 0 :(得分:1)

为什么不将Autolayout用于您的单元格,将ImageView放在单元格中并将其设置为0(或您的边距)的尾随和超前约束以及5:4的宽高比约束?