heightForRowAtIndexPath 无法正常工作
heightForRowAtIndexPath Not working properly
我正在尝试在我的 tableView 中显示具有正确纵横比的图像。我已经预先计算了图像的纵横比,它似乎在实际图像上可以正常工作,但在显示它的单元格上却不行。
单元格中的图像代码:
private var cellImage: UIImage? {
get { return cellImageView.image }
set {
cellImageView?.image = newValue
if let newimage = newValue {
heightConstraint.constant = newimage.size.width / CGFloat(aspectRatio)
}
}
}
tableView 中的代码:
override func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
return tableView.bounds.size.width / CGFloat(aspectRatio)
}
aspectRatio 是一个在两者中相同的变量。 aspectRation = width/height 图像。另外,我检查了两个地方接收到的高度是一样的,并且它们是相同的值(在运行时)。
有人知道为什么单元格高度设置不正确吗?
您可以使用动态单元格高度并使单元格适合其中的 imageView
查看本教程
https://www.raywenderlich.com/87975/dynamic-table-view-cell-height-ios-8-swift
谢谢大家,问题已解决。这是我找到的解决方案:
我删除了 cellImage 的高度约束计算,而是将图像视图的自动布局约束添加到单元格的底部边距。
这解决了问题。
我正在尝试在我的 tableView 中显示具有正确纵横比的图像。我已经预先计算了图像的纵横比,它似乎在实际图像上可以正常工作,但在显示它的单元格上却不行。
单元格中的图像代码:
private var cellImage: UIImage? {
get { return cellImageView.image }
set {
cellImageView?.image = newValue
if let newimage = newValue {
heightConstraint.constant = newimage.size.width / CGFloat(aspectRatio)
}
}
}
tableView 中的代码:
override func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
return tableView.bounds.size.width / CGFloat(aspectRatio)
}
aspectRatio 是一个在两者中相同的变量。 aspectRation = width/height 图像。另外,我检查了两个地方接收到的高度是一样的,并且它们是相同的值(在运行时)。
有人知道为什么单元格高度设置不正确吗?
您可以使用动态单元格高度并使单元格适合其中的 imageView 查看本教程 https://www.raywenderlich.com/87975/dynamic-table-view-cell-height-ios-8-swift
谢谢大家,问题已解决。这是我找到的解决方案:
我删除了 cellImage 的高度约束计算,而是将图像视图的自动布局约束添加到单元格的底部边距。 这解决了问题。