如何在原始图像中显示UIImageView中的图像?

时间:2017-05-21 08:51:38

标签: ios uiimageview

我有一个尺寸为320 * 110.1x的UIImageView,2x图像看起来效果很好但是当它达到3x时,图像看起来被压扁了。如何在UIImageView中显示图像,如原始图像而不拉伸?此外,UI在不同设备中看起来不同。我在这里使用ScaleToFill内容模式。我尝试过aspectFit,但它在UIImageView的左右两侧都有空格,而且图像不适合AspectFill。是否可以在没有拉伸的情况下在所有设备中显示原始图像的图像?请查看我尝试过的截图。

原始3x图片: enter image description here

iPhone 6 plus:

enter image description here

iPhone 7 Plus: enter image description here

2 个答案:

答案 0 :(得分:3)

从您的图片中可以看出,您已将UIImageView的高度设置为110点。相反,你需要随着宽度的增长而增加高度。

UIImageView的顶部,前导和后缘固定到其超级视图。最后,通过创建宽高比约束来设置UIImageView的高度,该约束将image.width 等于 image.height设置为< em> 320:110的乘数。您可以通过 control - 在UIImageView中单击并向上并向右拖动然后在图像视图内部释放来执行此操作。然后从弹出窗口中选择 Aspect Ratio 。在属性检查器中,将约束的乘数更改为320:110

Aspect Ratio constraint in Attributes Inspector

如您在问题中所述,请将UIImageView内容模式设置为缩放至

答案 1 :(得分:0)

您可以将uiimageview的contentMode更改为aspectfit