如何从Xcode资源库的文件夹中加载UIImage?
解决Xcode资源库中文件夹内图片加载问题
嘿,我来帮你搞定这个图片加载的小麻烦~
首先得理清一个关键点:Xcode的Asset Catalog(资源库)里的文件夹只是逻辑分组,不是真实的文件系统路径,所以你完全不需要在imageNamed:里加文件夹前缀!
正确的代码写法
不管你的图片在资源库的哪个子文件夹里,直接用图片的资源条目名称就行,不用加文件夹路径,也不需要写后缀名:
[self.imgIcon setImage:[UIImage imageNamed:@"anxious"]];
为什么之前的写法行不通?
你之前尝试的symptoms/anxious.buz、symptoms.anxious.buz都没用,是因为Asset Catalog编译后会把所有资源扁平化处理,原来的文件夹结构不会被保留,系统只认图片的资源名称,不认你在资源库里建的分组文件夹。
额外注意事项
- 确认资源库中图片的实际条目名称:打开Asset Catalog,点击你的图片,检查右侧属性面板里的「Name」字段,确保和你代码里写的完全一致。
- 如果你是用蓝色文件夹引用(不是Asset Catalog的分组,是拖入Xcode时选择「Create folder references」的文件夹),那才需要用路径格式,比如
[UIImage imageNamed:@"symptoms/anxious"];,但这种情况和你说的「资源库」不是同一个概念。 imageNamed:会自动适配@2x、@3x等不同分辨率的图片,不用额外指定后缀或分辨率标识。
内容的提问来源于stack exchange,提问作者user1054922
相关产品推荐
相关产品推荐

