在我的iOS应用中,我试图将一些图像从xcassets中移除到从我的Wordpress下载。我将xcassets上的@ 2x图像上传到wordpress,然后我正在运行iPhone 7模拟器。但是,当我使用从服务器下载的图像时,我得到一个更大的图像,然后当我使用来自xcassets的完全相同的图像。
cell.imageView.image = [UIImage imageNamed:@"testImage"];
// is smaller in size than
NSString *documentDir = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) firstObject];
NSString *path = [documentDir stringByAppendingString:[NSString stringWithFormat:@"/%@.png", @"testImage"]];
NSData *data = [NSData dataWithContentsOfFile:path];
cell.imageView.image = [UIImage imageWithData:data];
有关导致此问题的任何想法?或者如何解决这个问题?
答案 0 :(得分:0)
您写道:
我从xcassets上传了@ 2x图片
这就是原因!
假设您的图片尺寸为400x400px(像素)。从资产目录中加载时,iOS已经知道图像必须被解释为200x200pt(点!),因为您在资产目录中将其定义为@ 2x。
使用代码中的imageWithData
方法将服务器从服务器加载到图像中时,将其解释为@ 1x - > 400x400pt(点)。
解决方案:
使用scale参数告诉图像加载图像的比例因子。
[UIImage imageWithData:data scale:2.0f]