奇技指南
本文来自360奇舞团iOS团队QiShare投稿,原文:
https://www.jianshu.com/p/f4e78a44ddf8
前情回顾
一个完整的app都需要多种尺寸的图标和启动图。一般情况,设计师根据开发者提供的一套规则,设计出图标和启动图供开发人员使用。但最近作者利用业余时间做了个app,不希望耽误设计师较多时间,就只要了最大尺寸的图标和启动图各一个。本想着找一下现成的工具,批量生成需要的的图片,但最后没有找到,只好使用Photoshop切出了不同尺寸的图片。这期间,设计师还换过一次图标和启动图,作者就重复了切图工作,这花费了大量的时间。于是事后,作者开发了一个mac app——图标&启动图生成器(简称生成器)以提高工作效率。
作者用两篇文章分别介绍生成器的使用和实现细节。本文是第二篇。
接上篇文章《iOS 图标&启动图生成器(一)》,本篇文章介绍生成器的实现细节。
生成器的工程非常简单,可以概括为一个界面、一个资源文件和一个ViewController。结构如下图。

01
界面
生成器app只有一个界面,因为界面复杂度较小,作者选用了Storyboard+Constraints的方式进行开发。下图显示了界面中的控件和约束情况。

其中各控件对应的类如下所示。
| 控件 | 类 |
|---|---|
| 图片框 | NSImageView |
| 平台选择器 | NSComboBox |
| 路径按钮 | NSButton |
| 路径文本框 | NSTextField |
| 导出按钮 | NSButton |
02
资源文件
app所支持的平台规则数据从资源文件QiConfiguration.plist中获取。QiConfiguration.plist相当于一个字典,每个平台对应着字典的一对key和value;value是一个数组,存储着该平台所需要的一组尺寸规格数据(item);item是尺寸规格数据的最小单元,内部标记了该尺寸规格的图片的用途、名称和尺寸。
QiConfiguration.plist的具体结构如下图所示。

03
ViewController
工程使用默认的ViewController管理界面、资源数据和逻辑。
首先,界面控件元素在ViewController中对应下图中的5个实例。

其中,imageView、platformBox和pathField不需要响应方法。并且,platfromBox和_pathField的默认/记忆数据由NSUserDefaults管理。
static NSString * const selectedPlatformKey = @"selectedPlatform";static NSString * const exportedPathKey = @"exportedPath";NSString * const selectedPlatformKey = @"selectedPlatform";
static NSString * const exportedPathKey = @"exportedPath";

本文介绍了作者基于个人需求开发的一个Mac App,用于自动化生成iOS应用所需的多种尺寸图标和启动图。文章详细阐述了该生成器的实现细节,包括界面设计、资源文件管理和ViewController的逻辑处理。读者可以通过阅读原文获取完整代码及工程源码。
最低0.47元/天 解锁文章
1万+

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



