使UIImageView适合屏幕宽度但保持纵横比[swift]
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使UIImageView适合屏幕宽度但保持纵横比[swift]相关的知识,希望对你有一定的参考价值。
我正在尝试使用tableView构建一个简单的tableview,其中显示了人们发布的图像列表以及他们的朋友添加的评论。
这是TableViewCell的子类,我使用堆栈视图来进行布局。问题是我想要显示照片而不拉伸它们 - 我希望它们保持原始的宽高比,但人们可以上传任何尺寸的图像。您在屏幕截图中看到图像被压扁。
我注意到,上传的.jpeg文件越大,单元格越大(我猜测图像大小决定了内在的高度?),但由于宽度不能改变,每张图像都被压缩得不同。一张巨幅照片将显示超高但宽度相同。
我尝试将图像设置为Aspect Fit,但只有可见图像本身才能达到我想要的效果:适合宽度而不会扭曲纵横比。但是,UIImageView本身仍然超级高,并且推动所有其他UI元素。
我必须在这里遗漏一些东西......它不应该那么难,是吗?
答案
要将图像约束为宽高比,首先给它屏幕宽度,然后在IB中给它一个静态高度并将该约束挂钩为IBOutlet
并将其设置在cellForRow中
cell.imageHeightcon.constant = imageRealHeight*imageWidthInIB/imageRealWidth
另一答案
您应该根据需要修改图像视图的大小。然后你应该使用aspect来填充而不是aspect来适应并在属性检查中选择clip to bounds
选项
以上是关于使UIImageView适合屏幕宽度但保持纵横比[swift]的主要内容,如果未能解决你的问题,请参考以下文章