首页 > 解决方案 > 具有方面拟合图像和自动布局的 UITableViewCell

问题描述

我知道这已经被问了 200 次,但我就是不明白。因此,目标尽可能简单。一个带有图像和下面 2 个标签的表格单元,图像具有不同的纵横比。我实际上让它工作了,但我只是不明白为什么应该非常普遍的东西,是那么困难/hacky。我设置了我的表格单元自动布局。连接所有边缘,将图像设置为宽高比,在我的 tableview 上设置预期的高度,不要设置任何高度约束。

我认为问题出在哪里,tablecell 使用其子视图的固有内容大小来计算其高度?出于某种原因,“方面拟合”图像的固有高度是原始图像的高度吗?所以如果你有二次图像,一个是 200x200,一个是 1000x1000,它们实际上缩放到相同的大小,只有一个有 5 倍的无用空白顶部/底部。为什么这是调整图像视图大小的选项的默认行为?

对于非异步加载的图像,有一些对我有用的解决方案,其中包括根据纵横比设置宽度/高度约束。我仍然可以通过提前获取 5 张图像来做到这一点,然后将它们设置在我的模型对象中,然后通过添加类或表格单元来执行刷新约束。

我想我的问题是,有没有简单/直观的解决方案?我至少在某种程度上掌握了导致这个问题的原因吗?

标签: iosswiftuitableview

解决方案


推荐阅读