如何从Images.xcassets中读取出LaunchImage中的图片

首先先简单的介绍一下Images.xcassets是干什么用的

这个文件夹是xcode5中才出现的,目的是为了更好的统一图片在工程中的存储位置而设计的
如果没有用过的朋友,可以往里面放一张图片,右键show in finder,你可以看到有个json,可以用文本编辑打开它看看,里面都是规范性写法,明确的告诉你这个图片的名字等等
个感稍微有点鸡肋,不过对于Images.xcassets的功能研究我还没有进一步的深入,只是用它来存储我工程中的图片而已,我对它的认识不太深。
当初使用它也是图个新鲜,x1,x2这种东西都已经帮你处理好了,对位入座就好~甚至是在右边栏中可以选择很多的功能等等。。。

以上基本都是我的个感,有兴趣的朋友可以尝试一下

下面说一下我碰到的问题:
昨天因为业务需要,要把LaunchImage中的闪图提取出来,做一个假的闪图代替系统闪图进入应用的动画

结果我发现除了Icon和LaunchImage以外的个人创建的文件夹都可以直接用
[UIImage ImageNamed:@"图片名称"]  这种方式找到图片

但是我读取LaunchImage下面的图片名字根本找不到

想到了在打开Images.xcassets的时候里面就有两个系统的Icon和LaunchImage图集,可能有蹊跷,所以我搞了一个工程,塞了一个图片
进入到

~/Library/Developer/CoreSimulator/Devices/A13FEF20-55F8-42E1-8F4D-C3D1B146D533/data/Containers/Bundle/Application/A0C4CEFA-F23A-4BBE-BCDF-9446F25D7D27/xxxx.app

中找我的工程,打开包里面的内容,并用文本编辑打开了info,在里面看到LaunchImage-568h   所以试着用[UIImage imagenamed:@"LaunchImage-568h.png"]读取了一下,发现成功了!icon的图集也是如此!

以下是总结出来的LaunchImage图集中的命名

LaunchImage-568h@2x.png
LaunchImage-700-568h@2x.png
LaunchImage-700-Landscape@2x~ipad.png
LaunchImage-700-Landscape~ipad.png
LaunchImage-700-Portrait@2x~ipad.png
LaunchImage-700-Portrait~ipad.png
LaunchImage-700@2x.png
LaunchImage-Landscape@2x~ipad.png
LaunchImage-Landscape~ipad.png
LaunchImage-Portrait@2x~ipad.png
LaunchImage-Portrait~ipad.png
LaunchImage.png
LaunchImage@2x.png

具体有关icon和LaunchImage中其他图标的命名还需要大家按照上面的方法来找

转自:http://blog.sina.com.cn/s/blog_76703a360101l8ze.html

原文地址:https://www.cnblogs.com/mumoozhu/p/4566023.html