如果上网搜索一下“iOS App图标设置”或者“iOS App启动画面设置”肯定能找到不少文章,但内容大多雷同,就是让你按照某种尺寸制作若干张png图片,再按照苹果的命名规范,加入到项目中去,一行代码都不用写,就成了。
但我发现我的App的启动画面(Splash Screen)却怎么弄都出不来,它一直显示黑色。而在XCode的工程设置中,我发觉我的情况跟网上的教程所讲的都不太相同了,很明显,XCode5在这方面作了较大改动。
苹果引入了一个叫“asset catalogs”的东西,中文直译就是“资产编目”,引入它的主要原因就是要解决XCode项目中图片等资源编排混乱的问题,asset catalogs会让这些资源更加有序。
这是我写的一个小程序,大家看看上面涉及到的图片,其实还算少的了,它们一定得按照“@2x”这样的命名规则来指定Retina屏幕的对应图片,图片一多看起来就眼花缭乱,而且说不准以后还有别的规格的图片呢?叫“@3x”之类的,其实现在对同一张内容的图片就有很多不同的规格要求,比如应用程序图标,iPad上要求的是76pt,而iPhone上要求的是60pt,如果考虑支持iOS7以前的版本的话,要求更多……一多就容易乱,现在好多了,我们果断选择asset catalogs来管理我们的图标。
注意看工程里的Images.xcassets,打开,是不是看到“AppIcon”和“LaunchImage”两个项目?没错,AppIcon就是App的图标,而LaunchImage就是启动画面。现在我们来设置它们,设置的方法有些特殊,你在上面点来点去点不出什么名堂出来的,你得使用拖拽,把事先准备好的图片拖拽进去,可以拖已经添加到项目中的,也可以直接拖Finder中的图片,至于图片的命名,无所谓了,拖进去了就由asset catalogs来管理,如果图片之前已经被添加到项目中,拖好之后就可以把图片从项目中移除了,因为asset catalogs会自动做一份拷贝。
除了“AppIcon”和“LaunchImage”之外,我们当然还可以创建自己的Image Set(在上下文菜单中选择“New Image Set”),比如我这里创建了一个叫“login-password”的Image Set,它需要两张图片,一张是1x的,另一张是2x的,我直接把做好的图片从Finder中拖入即可。
asset catalogs的使用跟直接添加图片到工程中的使用没什么两样,却使得图片的管理变得简单和整洁,比如在AppIcon中,你可以指定需要支持哪些设备,XCode会提示你放入怎样尺寸的图片,你也不需要再去记那些图标的尺寸了,图片的强制命名,也不需要了。