我们添加到项目中的资源文件,一般可以通过[NSBundle mainBundle] 拿到。
被添加的资源文件,在这里可以看到
同时,可以通过查看Target Membership 查看是否已经添。
这些资源文件会在你的产品->显示包内容中查看到。
在我们导入一个文件夹时,会出现如下的选项
如果我们选择第二个,那么这个文件夹在工程里显示的颜色为蓝色,并且文件夹里的内容并没有被添加到主目录中。
演示如下:
此时我在项目中用如下方式展示图片:
这三种方式找到的图片,都是被添加在mainBundle的那张图片,也就是蓝色文件夹外的图片。
如果想要显示蓝色文件夹内的图片,我们需要
除了将图片直接拖入工程中,还可以将图片放在
文件夹中
需要注意的是添加到这个文件夹下的图片只能通过 imageName的方法读取图片,并且由于这种图片的读取方法无法释放,所以一般存放一些比较小的图片。并且在这里存放的图片,在包内容中是无法直接显示的。
在项目组件化的实践中,要用到currentBundle,因为组件内部使用的资源并不在mianBundle里面,也就是显示包内容时不在目录中。
更新时间:2017年12月25日
BUG:使用Xcode9.2 打包程序,如果图片放置在Assets里面,显示会有问题,放在MainBundle中没有问题。或者使用低版本Xcode打包。
本文介绍了在iOS开发中如何处理图片资源路径。通过[NSBundle mainBundle]获取资源,关注Target Membership确保文件添加正确。资源文件可在产品显示包内容中查看。在导入文件夹时,选择特定选项会导致文件夹显示蓝色,其内容不会被添加到主目录。显示蓝色文件夹内图片需使用特定方法,并注意内存管理。组件化开发中,可能需要使用currentBundle获取组件内部资源。Xcode 9.2打包时,图片放在Assets中可能出现显示问题,建议使用mainBundle或低版本Xcode。
1227

被折叠的 条评论
为什么被折叠?



