ios小知识 -- 怎么让相同名字的图片都能在显示出来

ios小知识 -- 怎么让相同名字的图片都能在显示出来_第1张图片
图1

前言

假如美工给你了图1所示三种不同颜色的图,但是内容是不变的,如果直接拖入
ios小知识 -- 怎么让相同名字的图片都能在显示出来_第2张图片
图2
  • 这样就会造成我们的xcode只能识别其中的一种颜色的图片显示到UIImageView上,并不能把这三种颜色的图片都显示到UIImageView,原因很简单,因为名字相同,有人会说这简单,我把名字改的不一样不就行了,这种方法是可以,但是假如有十种颜色不同内容相同的图片,如果挨个改名字是不是有点太费事了,所以当出现上述图片所显示的情况的时候我们可以采取别的方法把图片放入工程里进行使用。
  • 这样的操作
    ios小知识 -- 怎么让相同名字的图片都能在显示出来_第3张图片
    图3

虽然ShowInFind 以后有文件夹
图4

但是打包以后其实是没有分文件夹得,下面进行一下验证
ios小知识 -- 怎么让相同名字的图片都能在显示出来_第4张图片
图5

看一下沙盒路径
ios小知识 -- 怎么让相同名字的图片都能在显示出来_第5张图片
图6

ios小知识 -- 怎么让相同名字的图片都能在显示出来_第6张图片
图7

发现并没有,而且每个图片只存在了一张图片(因为名字相同,并且在bundle没有存在真实的文件夹),这样就不能正常的显示不同颜色的图片所以此方法不可以。

注意:我们刚才看到了在当前的硬盘有文件夹的,但是在看budle是没有文件夹,此方法不可用。

  • 选择图8所示方式拖入文件
    ios小知识 -- 怎么让相同名字的图片都能在显示出来_第7张图片
    图8

    可以看到这个文件夹是蓝色的,代表在安装包里真实存在了这个文件夹
    ios小知识 -- 怎么让相同名字的图片都能在显示出来_第8张图片
    图9

    验证一下:
    ios小知识 -- 怎么让相同名字的图片都能在显示出来_第9张图片
    图10

    真实存在的
    ios小知识 -- 怎么让相同名字的图片都能在显示出来_第10张图片
    图11

    这样当我们在使用名字相同的这些图片的时候可以通过路径去显示

  //imageNamed 加载的是NSBundle下的图片,bundle下直接跟文件的路径  
NSString *faceImageName =@"skin/blue/face";
self.faceImageView.image = [UIImage imageNamed:faceImageName];

有没有帮到你呢?
(欢迎大家对不合适的地方进行指正,看完觉得有帮到你给点个赞吧)

你可能感兴趣的:(ios小知识 -- 怎么让相同名字的图片都能在显示出来)