有没有办法命名我在我的应用程序中使用的图像/图标,以便在ios6 / 7中使用不同的图标?
例如我尝试使用:
bar_item-ios7@2x.png
bar_item@2x.png
我希望当我在ios7中启动应用程序时,Xcode会自动使用第一个,而在ios6中启动第二个应用程序。有什么帮助吗?
答案 0 :(得分:1)
Apple不提供支持,但一种解决方法可能是使用UIImage的类别,使用基于操作系统版本加载正确版本的方法:
+(UIImage)imageNamed2:(NSString *)imageName{
NSString *finalImageName;
if([[UIDevice currentDevice].systemVersion floatValue] >= 7){
finalImageName = [NSString stringWithFormat:@"ios7-%@",imageName];
}else{
finalImageName = imageName;
}
return [self imageNamed:finalImageName];
}
这样,图像将被命名为:
example.png
example@2x.png
ios7-example@2x.png
你可以用这种方式实例化图像:
[UIImage imageNamed2:@"example.png"];
希望这有帮助