所以我一直在尝试根据我从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!
答案 0 :(得分:1)
为什么不将Autolayout用于您的单元格,将ImageView放在单元格中并将其设置为0(或您的边距)的尾随和超前约束以及5:4的宽高比约束?