如何从iOS中的Images.xcasset加载图像集(Bundle)

时间:2015-08-07 07:43:14

标签: ios objective-c uiimage

当我以前在iOS中开发应用程序时,我总是将应用程序的图像源放在项目的根目录中,然后我将使用[UIImage imageNamed:@"image.png"]加载它们。我甚至没有包括各种尺寸和分辨率,如image @ 2x或image @ 3x。但我担心这不是一个好习惯,因为我不能处理不同的屏幕分辨率。

现在,我想利用 Images.xcasset 存储我的所有图像源,以便我只能加载包名称,并希望系统将选择图像自动分辨率正确。因此,我进行了测试并将我的图像集置于 Images.xcasset 下,并将其命名为 images ,然后在我的UIViewController.m中我尝试加载图像调用 [UIImage imageName:images] 。结果,它没有用。所以我搜索了一个答案,发现我应该调用[UIImage imageName:@"images60x60@2x.png"]来加载60pt @ 2x图像。

但我认为这仍然无法解决我的问题,因为我仍在选择加载哪个图像。有没有办法加载整个图像集或根据屏幕的分辨率加载图像?

请帮忙。非常感谢。

编辑:添加了屏幕截图

enter image description here

我使用AppIcon作为测试

enter image description here

2 个答案:

答案 0 :(得分:1)

正如您最后所说,您正在使用AppIcon作为测试。请不要将AppIcon用于内部使用。尝试创建自己的imageSet并使用它。它应该工作。

答案 1 :(得分:0)

两件事:

  1. 如Ankit所说,请勿使用App Icon,使用自己的套装
  2. 不要使用文件后缀。只需参考[UIImage imageName:@"MyImage"](不是[UIImage imageName:@"MyImage.png"]