使UIImageView适合屏幕宽度,但保持纵横比[swift]

时间:2018-03-01 19:18:03

标签: ios swift uitableview user-interface interface-builder

我正在尝试使用tableView构建一个简单的tableview,其中显示了人们发布的图片列表以及他们的朋友添加的评论。

enter image description here

这是TableViewCell的子类,我使用堆栈视图来布局它。问题是我想要显示照片而不拉伸它们 - 我希望它们保持原始的宽高比,但人们可以上传任何尺寸的图像。您会在屏幕截图中看到图像被压扁。

我注意到,上传的.jpeg文件越大,单元格越大(我猜测图像大小决定了内在高度?),但由于宽度无法改变,每张图片都被压扁了。一张巨大的照片将显示超高,但宽度相同。

我尝试将图像设置为Aspect Fit,但只有可见图像本身才能达到我想要的效果:适合宽度而不会扭曲纵横比。但是,UIImageView本身仍然超级高,并且将所有其他UI元素推到了一边。

我必须在这里遗漏一些东西......它不应该那么难,不是吗?

2 个答案:

答案 0 :(得分:1)

要将图像约束为宽高比,首先给它屏幕宽度,然后在IB中给它一个静态高度并将该约束挂钩为IBOutlet

并将其设置在cellForRow

<img src="data:image/jpeg;base64,<?php base64_encode($FOTO) ?>" />

答案 1 :(得分:-1)

您应该根据需要修改图像视图的大小。然后,您应该使用纵横填充而不是纵横来拟合,并在属性检查中选择{2: [0.00527108433734938, 0.005271084337249398]} 选项