我有一个大小为 320X460 的图像,我想创建一个 UIImageView
,其高度应为 450 . 为了保持纵横比,我动态地计算了UIImageView =(320/460)* 450 = 313.043的宽度 . 并为UIImageView设置contentMode是 UIViewContentModeScaleAspectFit . 并将图像(320x460)设置为图像视图,但它有些模糊 .
注意:如果我没有将 UIImageView
的大小调整为 313.043X450 ,则图像非常清晰 . 那么我做的错误是什么?
2 回答
如果我理解这个问题,这应该回答它 .
首先在图像视图中设置图像的纵横比 .
myView.contentMode = .scaleAspectFit
接下来,您的图像可能会模糊,因为它是
.png
或其他栅格化格式 . 您需要使用.pdf
as recommended by Apple或至少使用另一种矢量化格式 . 光栅化图像具有图像中所有像素的值,因此当图像被拉伸得太远时,它只会复制并模糊像素 . 矢量化图像不会模糊,因为它们实际上只是关于如何绘制/渲染相应图像的一系列指令 .如果要手动调整
UIImageView
的大小,请将内容模式设置为UIViewContentModeScaleAspectFill
.如果要保持内容模式
UIViewContentModeScaleAspectFit
不要将图像视图的大小调整为313.图像将调整最大可能的宽度和高度,保持其纵横比 .