从 Xcode 6 开始我们有了基于矢量图像 (PDF文件) 的编译能力。
对于 UI 设计师, 以及像我这种苦逼的、拿一份工资做 N 份活的工程师, 都会面临一个问题: 切图。
切图那些事
- 必须为矢量
- 各自的矢量环境下导出 PDF 格式切图, PS 绘制的矢量图在 PS 里导出, AI 同理
使用 PDF 矢量图的好处:
- 优化下载体验, 减少app大小
- 自动适配
Photoshop
按住 ⌘
键用鼠标左键点击对应的图层来创建选取, 然后按照选区大小新建大小相同的新文件, 记得要保持适量状态, 切勿不要栅格化。此外如果你的图不需要背景, 也记得要使用透明背景。
一般情况, 在设计时以 iPhone 6 为基准 (即 750), 属于是 @2x
尺寸, 按下 ⌘ + ⌃ + i
并将宽高百分比调整到 50%
, 即 @1x
状态。
就下来就是储存了, 先在格式中找到 Photoshop PDF
, 勾选 作为副本
, 然后点击 保存
, 会弹出一个新的界面:
移除 保留 Photoshop 编辑功能
的选项, 只剩下 嵌入页面缩览图
以及 优化快速 Web 预览
, 然后点击 保存
。
Illustrator
同理, 按 @1x
尺寸另存为 PDF 格式, 勾选 嵌入页面缩览图
以及 从顶层图层穿件 Acrobat 图层
然后点击 保存
。
Xcode
接下来, 图片生成之后, 就要导入 Xcode 中了。
- 如果现在没有
.xcassets
文件, 创建一个并打开; 反之, 直接打开 - 打开后, 在右侧
.imageset
列表中, 点击鼠标右键, 然后在右键菜单中选择New Image Set
- 此时会出现一个新的
Image Set
, 点击打开 - 在 Xcode 右侧栏
Utilities
中, 选择Attributes Inspector
- 修改
Type
为Vector
- 把矢量 PDF 文件拖入
新导入的 PDF 矢量图在使用方面没有什么区别, 比如你依然可以使用 - imageNamed:
。
在编译时, Xcode 会会通过 PDF 文件自动生成三个尺寸的 .png
图片, 不过生成的过程由 Xcode 自动把控, 开发者没有控制权。
举个栗子, 我们现在有一个 @1X
的 PDF, 150px × 150px
, 那么 Xcode 会生成三个尺寸的 .png
图片:
150px × 150px
300px × 300px
450px × 450px