发布网友 发布时间:2022-04-26 06:42
共1个回答
热心网友 时间:2022-06-24 20:14
一、使用Illustrator生成PDF矢量图形
首先,我们需要PDF格式的矢量图形。你可以使用Adobe Illustrator或你所熟悉的其他矢量图形工具来生成;@1x规格的即可。
如果你使用Illustrator:
为即将导出的图形元素创建新文档,使用@1x规格来设置文档的尺寸。
将需要导出的图形元素复制到新文档当中。
在“File”菜单中选择“Save”。
在保存时记得取消勾选“Preserve Illustrator Editing Capabilities”。
二、在Xcode项目文件中进行设置
要使用矢量化的图形资源,你需要在Xcode当中通过Asset Catalog来管理图片。不用担心,你仍可以将标准的图形导入方式与XCAssets混合起来使用,不会产生问题。执行以下步骤:
如果还没有XCAsset文件,那么创建一个。如果已经创建过,就在项目中打开。
在“Editor”菜单中选择“New Image Set”。
在新创建的图片集中,选择空的图片集,然后打开Utilities面板。
选择属性检查器Attributes Inspector。
在类型下拉列表中,选择“Vectors”。
图片集会变为只有一个拖放点的“All – Universal”。
将你的PDF矢量图形拖放到图片集当中。
三、见证神奇时刻
Xcode在构建项目时会基于Asset Catalog中的PDF矢量图形自动创建@1x、@2x和@3x三种规格的PNG文件。举例说,你为Xcode提供了一个@1x规格的,尺寸为150px*150px的PDF文件,那么Xcode会自动创建下列PNG图形:
@1x规格,尺寸为150px*150px
@2x规格,尺寸为300px*300px
@3x规格,尺寸为450px*450px
应用运行时,iOS会根据不同的设备类型从上面三种图形资源中挑选出恰当的规格进行输出。另外记得为AutoLayout设置好约束,确保图形不会在大尺寸设备上被拉伸。Xcode所做的是基于PDF矢量图形创建PNG文件;应用运行时所输出的仍然是栅格化的图片,而非可以自动伸缩的矢量图形。