如何在iOS中正确使用标准和视网膜显示图标?我需要检测设备的分辨率吗?如果是这样,执行此操作的最佳过程是什么。我是否需要执行以下操作?
UINavigationBar *navbar...
NSString *imageName;
if (isRetinaDisplay)
{
imageName = @"[email protected]";
}
else
{
imageName = @"hello.png";
}
navbar.tabBarItem.image = [UIImage imageNamed:imageName];
任何建议,将不胜感激。谢谢。
最佳答案
不,你没有。 iOS将自动在高分辨率设备上检测并使用@2x
图像。查看the Drawing and Printing Guide了解更多信息。摘录:
在具有高分辨率屏幕的设备上,imageNamed:
,imageWithContentsOfFile:
和initWithContentsOfFile:
方法自动使用名称中的@2x
修饰符查找所请求图像的版本。如果找到一个,它将加载该图像。如果不提供给定图像的高分辨率版本,则该图像对象仍会加载标准分辨率的图像(如果存在)并在绘制过程中对其进行缩放。