UIImageView纵横比?

时间:2014-04-28 10:15:42

标签: ios uiimageview aspect-ratio contentmode

我的图片大小 320X460 ,我想创建一个UIImageView,其高度应 450 。为了保持纵横比,我动态地计算了UIImageView =(320/460)* 450 = 313.043的宽度。并设置contentMode For UIImageView是 UIViewContentModeScaleAspectFit 。并将图像(320x460)设置为图像视图,但它有些模糊。

注意:如果我没有将UIImageView的大小调整为<​​strong> 313.043X450 ,则图像非常清晰。那么我做错了什么?

2 个答案:

答案 0 :(得分:1)

如果我理解这个问题,就应该回答。

首先在图像视图中设置图像的纵横比。

myView.contentMode = .scaleAspectFit

接下来,由于图像是.png或其他光栅化格式,因此图像可能会模糊。您需要使用.pdf as recommended by Apple或至少使用另一种矢量化格式。栅格化的图像具有图像中所有像素的值,因此,当图像拉伸得太远时,它只会复制并模糊像素。矢量化图像不会模糊,因为它们实际上只是一系列有关如何绘制/渲染相应图像的指令。 enter image description here

答案 1 :(得分:0)

如果您要手动调整UIImageView的大小,请将内容模式设置为UIViewContentModeScaleAspectFill

如果你想保持内容模式UIViewContentModeScaleAspectFit,请不要将imageview的大小调整为313.图像将调整最大可能的宽度和高度,保持其宽高比。