需要有关iPhone不同分辨率的图像资源的建议

时间:2015-02-19 12:34:05

标签: ios objective-c xcode screen-resolution

我需要一个关于如何在不同分辨率的iPhone中使用图像的建议。

正如我们所知道的iPhone3gs和iPhone 4,我们需要@ 1x图像。

对于iPhone4s和iPhone 5,6,我们需要@ 2x图像。

对于iPhone 6+,我们需要@ 3x图像。

我正在考虑以两种方式添加图片资源。

方式1 -

abc.png         size 20X20

abc@2x.png      size 40X40

abc@3x.png      size 60X60
访问图像时

我们使用

UIImage *img = [UIImage imageNamed:@"abc.png"];

这里非视网膜显示ios会自动选择abc.png 对于iphone 4s,5,6,它会自动选择abc@2x.png 对于iphone6 +,它会自动选择abc@3x.png

方式2 -

abc.png         size 20X20

abc@2x.png      size 40X40

abc_iphone5or6.png         size 25X25
size is bigger because resolution is big, we need to show big icon , if we use way 1 then it will show 20X20 size icon and will look smaller on big screens

abc_iphone5or6@2x.png      size 50X50 


abc_iphone6+.png         size 35X35 
size is bigger because resolution is big, we need to show big icon , if we use way 1 then it will show 20X20 size icon and will look smaller on big screens

abc_iphone6+@3x.png      size 70X70

if(is_iphone4or4s){
    UIImage *img = [UIImage imageNamed:@"abc.png"];
}
else of (iphone5or6){
   UIImage *img = [UIImage imageNamed:@"abc_iphone5or6.png"];
}
else{
    UIImage *img = [UIImage imageNamed:@"abc_iphone6+.png"];
}

请建议应采用哪种方法。我应该只添加abc.png,abc @ 2x.png和abc@3x.png吗?或者我应该为每个分辨率使用单独的视网膜和非视网膜图像?

谢谢

1 个答案:

答案 0 :(得分:-1)

使用哪种方法取决于您的需求:

当您需要在所有设备中显示相同尺寸的图标时,使用方法一,这是最佳方法。

当您需要针对不同的屏幕尺寸显示不同尺寸的图标时,请使用方法二

如果您的要求是使用方法二,那么请考虑以下几点:

To Display icon of size 20X20 in iPhone4/4s

abc.png         size 20X20

abc@2x.png      size 40X40

To Display icon of 25X25 in iPhone5/6

abc_iphone5or6.png      size 50X50

To Display icon of size 35X35 in iPhone+

abc_iphone6Plus.png      size 70X70