从接触iOS开始应该有一年左右了,但是现在还是水的严重,决定从头作为菜鸟开始学习iOS.因为没有套路,所以准备从项目入手,专题辅助的形式重新认识iOS.
不想总是去羡慕为什么人家的项目做的那么棒,为什么我总是愿意直接问别人答案的,现在开始踏实的搞好技术.
从项目入手,第一个项目是仿写下厨房APP.选择这个APP也是最近叶孤城在搞这个,我觉得好入手.我们先简单的欣赏一下APP的各个页面.



![$4OCDX0GHGNO3F]FE63BC2I.jpg](http:https://img.haomeiwen.com/i294315/97ead4baf6b323c1.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
这篇文章主要是来讲述文件资源的问题,当去下厨房的应用里面找图片发现一个很奇怪的事情,资源文件少了许多。当我下载了另外一个BOSS直聘的时候我发现此APP图片资源全在。我们先对比一下。

而下厨房也有小部分图片资源基本都是开机画面和app的图标文件.

如果继续往下找发现了一个很神奇的又熟悉的东西--Assets.car.

Assets.car是Xcode的图片集(Images.xcassets)打包后生成的,苹果公司不提供直接可以查看Assets.car,但是去谷歌了一下发现有一个小的软件可以搞定
ThemeEngine可以查看Assets.car的工具,也可以导入到photoshop里面。下载地址:https://github.com/alexzielenski/ThemeEngine
当你使用ThemeEngine打开Assets.car文件的时候,你会看到如下的图标,这些图标就是打包起来的文件。

这样你就可以导出图片,但是得修改名字而已.接下来分析另外一个文件Contents.json。
当我新建一个项目的时候,我去找Finder里面怎么存储图片的时候发现了一个系统自动生成的文件Contents.json。

打开Contents.json你会发现原来如此,之所以不需要我们去记忆尺寸信息是因为当你拖拽到Assets.xcassets系统会使用json文件记录详细信息。

针对资源存储还要补充一点,当我第一次做类似微信聊天的界面的时候,对于气泡拉伸很模糊,最近也在学习Sketch,就如同Sketch里面的九宫格一样,所以我更加理解如何处理了。其实实现图片的拉伸可以在Assets.xcassets里面搞定而不需要代码处理,这是Xcode更加智能的方面。

Xcode提供两种Slicing的方式.
1.上图右侧直接设置拉伸的各个方向数据信息.
2.当不知道数据的时候选择下方的show slicing可以可视化的设置可拉伸区域.这样开发者就可以专心管理直接设置图片大小,感觉这是要干掉设计师,开个玩笑。
我设置四个角不能拉伸,如下所示

网友评论