如何从 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 并使用它。它应该有效。
两件事:
- 正如Ankit所说,不要使用App Icon,使用你自己的设置
- 不要使用文件后缀。仅参考
[UIImage imageName:@"MyImage"]
(不是 [UIImage imageName:@"MyImage.png"]
)
我以前在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 并使用它。它应该有效。
两件事:
- 正如Ankit所说,不要使用App Icon,使用你自己的设置
- 不要使用文件后缀。仅参考
[UIImage imageName:@"MyImage"]
(不是[UIImage imageName:@"MyImage.png"]
)