【发布时间】:2017-01-17 09:48:51
【问题描述】:
我正在尝试创建具有动态大小的表格单元格,特别是高度。单元格包含 4 行文本和图像视图。图像视图中的图像通常具有较大的分辨率,因此应将其缩放以适应图像视图。我使用 aspectFit 模式在图像视图中进行缩放。
如果我硬编码单元格高度,图像视图会收到额外的空间(用颜色突出显示)
override func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat
{
return 500
}
要删除额外的填充,我需要在缩放后计算图像尺寸。 我如何在 Swift 中做到这一点?
我也尝试了 UITableViewAutomaticDimension,但单元格大小变得很大(取决于图像分辨率),因为单元格尺寸是根据全分辨率图像计算的,而不是按比例缩放的(使用 aspectFit 模式)
this answer 中提供了另一种解决方案,但该解决方案的性能非常差,无法用于表格视图。我相信有更好的解决方案,因为图像已经被系统缩放以适应宽度,我只需要知道缩放图像的尺寸。
【问题讨论】:
标签: ios swift uitableview autolayout ios-autolayout