例如,我有图像great_image.png和great_image@2x.png用于视网膜显示。 如果我想在代码中创建UIImage,我只需写:
UIImage *image = [UIImage imageNamed:@"great_image"];
但是如果我在xib中创建UIImageView并且我想在xib中设置图像,我需要编写图像名称。
我该怎么写:"great_image.png" or "great_image@2x.png" or "great_image"
? (因为如果我写“great_image”,我将不会在xib中看到图像。)
更新: 问题的第二部分:
如果我只有great_image@2x.png并且没有great_image.png怎么办?我应该在xib中编写great_image.png吗?
答案 0 :(得分:1)
答案 1 :(得分:1)
如果您的项目中有great_image.png和great_image@2x.png,那么当您使用时
UIImage *image = [UIImage imageNamed:@"great_image"];
如果您的屏幕比例为1.0(iPhone3G / 3GS),则会自动加载great_image.png;如果您的屏幕比例为2.0(视网膜,iPhone 4),它将自动加载great_image.png。
无需指定great_image@2x.png
如果您只有@ 2x图像 高分辨率@ 2x图像不会在非视网膜设备上自动进行下采样。</ p>
然而,非视网膜设备尺寸会缩小并显示高分辨率的@ 2x图像,但不会对它们进行下采样,因此会导致质量不佳..
答案 2 :(得分:0)
您可以从xib设置imageview的图像属性。您只需要提供该图像的名称。如果图像未在图像视图中显示,则检查您的包资源是否添加了该图像。 其次,您不必使用图像名称指定@ 2x,因为编译器会在运行时通过考虑设备(非ratina或ratina)来决定。