使用 Swift 缩放图像视图

Posted

技术标签:

【中文标题】使用 Swift 缩放图像视图【英文标题】:Image View Scaling with Swift 【发布时间】:2015-12-23 09:36:08 【问题描述】:

我正在尝试缩放 UIImageView 的模式,默认情况下,模式的值为 Scale to Fill,在这种模式下,我的图像似乎被拉伸并且看起来不太好,在 Aspect Fill 图像似乎是最合适的,但是当我处于这种模式时,图像而不是保持 600 宽度 x 300 高度,它会更改为不同的纵横比,并且它会覆盖图像下方的所有数据。请参阅下面的参考图片:

图像视图的大小

缩放以填充模式所有图像都被拉伸和切断。

- Aspect to Fill,相同的图片,但您可以看到它现在的高度更大,它会切断前 2 个单元格,留下剩余的单元格,但在其他一些运行相同模式的图像中,图片看起来清脆而完美。

关于如何解决此问题的任何想法或建议?

【问题讨论】:

你试过Aspect fit吗?另外,您是否使用自动布局?如果是这样,您是否添加了约束? 除非图像和图像视图大小相同,否则无法解决此问题。这是图像分辨率的本质。您尝试过宽高比适合模式吗? 我尝试了 Aspect Fit 图像看起来不错,但图像右侧有一大块空白区域,并且图像的三分之一被切断@TeodorCiuraru 【参考方案1】:

你需要在 UIImageView 上添加约束。从顶部、底部、左侧和右侧固定您的 UIImageView。

添加约束后,我建议使用“Aspect Fit”模式。底部的标签也需要约束。

【讨论】:

感谢您的回答,约束解决了我的问题,但是 Aspect to Fit 在图像周围留下了空白,Aspect Fill 在这里为我完成了这项工作。

以上是关于使用 Swift 缩放图像视图的主要内容,如果未能解决你的问题,请参考以下文章

swift - 如何在多个页面中快速缩放图像

无法在 swift 中使用滚动视图滚动图像

iPhone 上 Swift 中的图像缩放问题

完全缩放图像而不会丢失其内容

在 iPhone 中使用缩放图像翻转滚动视图

使用图像无法正确缩放的绘制视图缩放:Android