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

How To Load The Image Set(The Bundle) From Images.xcasset in iOS

我以前在iOS开发app的时候,都是把app的图片源放在项目的根目录下,然后用[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 图像。

但是我觉得这还是没有解决我的问题,因为我还在选择加载哪张图片。有没有办法加载整个图像集或根据屏幕的分辨率加载图像?

请帮忙。非常感谢。

编辑:添加了屏幕截图

我用 AppIcon 作为测试

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

两件事:

  1. 正如Ankit所说,不要使用App Icon,使用你自己的设置
  2. 不要使用文件后缀。仅参考 [UIImage imageName:@"MyImage"](不是 [UIImage imageName:@"MyImage.png"]