首页 文章

UIImageView纵横比?

提问于
浏览
1

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

注意:如果我没有将 UIImageView 的大小调整为 313.043X450 ,则图像非常清晰 . 那么我做的错误是什么?

2 回答

  • 1

    如果我理解这个问题,这应该回答它 .

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

    myView.contentMode = .scaleAspectFit

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

  • 0

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

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

相关问题