Apple提供iPhone 6
和iPhone 6 plus
设备。
@2x
和@3x
。当我使用UIImage imageNamed:
加载图片时。 @3x
广告?我的命名惯例是pic.png
,pic@2x.png
,pic@3x.png
。 iPhone 6
然后[UIImage imageNamed:@"pic@3x.png"]
或[UIImage imageNamed:@"pic"]
,设备是否会自动为正确的设备使用正确的图像?答案 0 :(得分:10)
Sol: [UIImage imageNamed:@"pic"]
已足够[UIImage imageNamed:@"pic.png"]
。
<强>原因:强>
pic@2x.png
&amp;一旦您添加到项目中pic@3x.png
。 pic@2x.png
或pic@3x.png
图片,则表示设备会自动加载pic.png。 [UIImage imageNamed:@"pic"]
。答案 1 :(得分:2)
[UIImage imageNamed:@"pic"]
就够了。
如果找到带有此后缀的图片,则会自动添加后缀(iPhone 4到6的@ 2x和iPhone 6 +的@ 3x)。
答案 2 :(得分:0)
TLDR:如果您支持iOS 6/7,请确保包含@ 2x图像,或者在imageNamed中指定“* @ 3x”。
如果您支持旧版iOS(6/7),则需要执行以下两项操作之一。
第一个选项:包括图像的所有版本(普通,2x,3x)。优选的。
第二个选项:如果你只包含一个@ 3x图像,[UIImage imageNamed"pic"]
将在iOS 8上运行良好(根据需要将3x图像缩小到2x或1x大小),但是,自iOS 7以来它在iOS 7上失败从来没有意识到@ 3x。您应该使用[UIImage imageNamed"pic@3x"]