我正在尝试创建一个兼容视网膜和非视网膜显示器的应用程序。我正在使用高分辨率图像,并让操作系统缩小它们以用于非视网膜显示器。
图像名为xxx@2x.png,我加载的名称相同。这样可以工作,并且图像在两种设备类型上以相同的相对大小显示。不幸的是,非视网膜显示器上调整大小的图像的质量远非理想。
self.navigationItem.rightBarButtonItem.image = [localAssets imageAtPath:@"content/home/settings@2x.png"];
+ (UIImage*)imageAtPath:(NSString*)path;
{
NSString* extension = [path pathExtension];
path = [path stringByDeletingPathExtension];
NSString* filePath = [[NSBundle mainBundle] pathForResource:[path lastPathComponent]
ofType:extension
inDirectory:[path stringByDeletingLastPathComponent]];
UIImage* theImage = [UIImage imageWithContentsOfFile:filePath];
if(!theImage)
{
NSLog(@"Error no file found at %@", [path stringByAppendingPathExtension:extension]);
}
return theImage;
}
视网膜:
遗产:
答案 0 :(得分:2)
如果您自己调整图像大小,并将其保存为xxx.png和xxx@2x.png,则可以将它们用作“xxx”,iOS将在使用Retina显示屏时自动使用@ 2x版本。