繁体   English   中英

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

[英]Make UIImageView fit width of screen but keep aspect ratio [swift]

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

在此处输入图片说明

这是TableViewCell的子类,我使用堆栈视图对其进行布局。 问题是我想显示照片而不拉伸它们-我希望它们保持原始的纵横比,但是人们可以上传任何尺寸的图像。 您可以在屏幕快照中看到图像被压缩。

我注意到的是,上载的.jpeg文件越大,单元格的生长就越高(我猜图像的大小决定了固有高度?),但是由于宽度不能改变,因此每个图像的压缩方式都不同。 一张巨大的照片将显示出很高的高度,但宽度相同。

我尝试将图像设置为“宽高比适合”,但只有可见图像本身可以满足我的要求:适合宽度而不扭曲宽高比。 但是,UIImageView本身仍然很高,并且将所有其他UI元素推开了。

我一定在这里想念一些东西...应该不难吗?

要将图像作为宽高比进行约束,请首先为其提供屏幕宽度,然后在IB中为其提供一个静态高度,然后将该约束挂钩为IBOutlet

并将其设置在cellForRow中

   cell.imageHeightcon.constant = imageRealHeight*imageWidthInIB/imageRealWidth

您应该根据需要固定图像视图的大小。 然后,您应该使用宽高比填充而不是宽高比适合,并在属性检查中选择clip to bounds的选项clip to bounds

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM