如何在视图中正确缩放图像(而不是资源)到iPhone Retina?

ela*_*ado 3 iphone resize scale uiimage retina-display

我有一个UIImage,来自任一设备的相机或从URL下载.说分辨率是800x600.

我想在UIImageView中显示一个200x150的缩放图像,我有一个合适的图像缩放代码.

所以,我只是将UIImage缩放到UIImageView frame.size(再次,200x150).在非视网膜显示器上它看起来没问题,但在视网膜显示器上它看起来很糟糕,就像较小的图片被放大一样,因为实际的像素帧是400x300.

问题是 - 当我调整大小时,我应该手动将frame.size.width/ height2 乘以视网膜显示,因此它会调整为400x300,或者是否有内置功能?

由于UIImage不是设备上的资源,我没有@2x选项.

Fel*_*lix 5

在所有情况下,将图像视图的帧大小保持在200x150.在非视网膜显示器的情况下,将图像缩放到200x150.在视网膜显示设备上将其缩放到400x300.设定contentModeUIImageViewUIViewContentModeScaleAspectFit.