iOS:从加载的图像设置UIImageView的图像,具有正确的视网膜显示比例因子

时间:2012-08-14 18:32:57

标签: ios uiimageview uiimage scale retina-display

我正在使用带有视网膜显示器的iOS设备。基本上,我有UIImageView并通过在文档文件夹中加载jpeg图像来设置其图像。

假设UIImageView的大小为100x100分。并且jpeg图像具有200x200像素的尺寸。据我所知,jpeg图像应该在UIImageView中查看而不进行任何缩放。我读了jpeg图像

NSString *docDir = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];            
NSString *jpegFilePath = [NSString stringWithFormat:@"%@/im_%d_%d.jpeg",docDir, dbPhotoId, i];
UIImage* tmpImage = [UIImage imageWithContentsOfFile:[NSString stringWithFormat:@"%@", jpegFilePath]];

UIImage* tmpImage的比例因子为1,宽度和高度为200和200(从tmpImage.scaletmpImage.size.widthtmpImage.size.height观察)。

在这种情况下,如果我将UIImageView(尺寸为100x100点)的图像属性设置为tmpImage,我可以安全地假设不存在任何缩放或视网膜显示问题?

1 个答案:

答案 0 :(得分:0)

这取决于图像视图的contentMode属性的值。如果值为UIViewContentModeScaleToFill,图像在视网膜显示器上看起来会很好,但这不是正确的方法。

最好有两个版本的图片,一个用于正常显示,另一个用于视网膜,如here所述。