怎样在XCODE 6中使用矢量图形?

iOS应用的视觉形式通常是以图形元素驱动的。在设计开发一款应用时,你需要不同规格的应用图标,例如不同尺寸的Default.png图片,同时还需要为UI的实现准备@1x和@2x图形资源。所有这些图形元素都会让你的产品看上去更吸引人,但弊端也是很明显的——你需要为每种规格的图形元素单独切图。而随着iPhone 6及Plus的发布,我们又多了一套@3x需要处理,事情变得越来越复杂。

幸运的是,苹果在Xcode 6当中给我们带来了一些很棒的工具用以管理图形资源。更棒的是,新的工具和实现方式可以帮我们从容的应对未来的iOS设备,例如基于Storyboard为iOS 8设备生成启动图片,这样你就无需再为不同的设备类型单独制作。此外还有一个非常重要的新功能,就是在应用构建阶段基于PDF图片文件自动生成各种规格的图形资源。本文中,我们就来一起探索一下这种能帮你节省大量时间成本的方法。

一、使用Illustrator生成PDF矢量图形

首先,我们需要PDF格式的矢量图形。你可以使用Adobe Illustrator或你所熟悉的其他矢量图形工具来生成;@1x规格的即可。

如果你使用Illustrator:

为即将导出的图形元素创建新文档,使用@1x规格来设置文档的尺寸。

将需要导出的图形元素复制到新文档当中。

在“File”菜单中选择“Save”。

在保存时记得取消勾选“Preserve Illustrator Editing Capabilities”。



由此导出的PDF是可拉伸的矢量图形,可以在iOS中被完美的处理为@2x和@3x规格。下一步,我们看看怎样在Xcode当中进行设置。

二、在Xcode项目文件中进行设置

要使用矢量化的图形资源,你需要在Xcode当中通过Asset Catalog来管理图片。不用担心,你仍可以将标准的图形导入方式与XCAssets混合起来使用,不会产生问题。执行以下步骤:

如果还没有XCAsset文件,那么创建一个。如果已经创建过,就在项目中打开。

在“Editor”菜单中选择“New Image Set”。

在新创建的图片集中,选择空的图片集,然后打开Utilities面板。

选择属性检查器Attributes Inspector。

在类型下拉列表中,选择“Vectors”。

图片集会变为只有一个拖放点的“All – Universal”。

将你的PDF矢量图形拖放到图片集当中。



接下来,你可以像以往一样使用Image Catalog中的图形资源,通过代码或Interface Builder均可。例如在代码中使用“imageNamed:”+图片集名称的字符串。

三、见证神奇时刻

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文件;应用运行时所输出的仍然是栅格化的图片,而非可以自动伸缩的矢量图形。

注意

矢量图形的支持只是阶段性的 – 在构建阶段,Xcode会基于PDF生成PNG图片并输出到界面当中。

一旦完成矢量图形的设置,你就无法为其指定新的输出尺寸了。如果需要更大的规格,则需要创建新的PDF图形,否则在使用AutoLayout时原来的图片会失真。

正如前面所说的,iOS 8只能支持基于PDF生成的PNG文件;但OS X却可以真正完整的支持矢量图形,你可以直接通过Auto Layout或代码来缩放矢量图形,不会产生任何失真。

这种方式无法兼容iOS 7之前的系统,因为相关的图形资源都是通过Asset Catalog管理的。

如果你已经使用了类似的脚本或工具来自动生成多种规格的图形资源,那么这种方式不会给你带来太多用处。不过,如果你的应用同时拥有OS X和iOS两种版本,并且会用到一些相同的图形,那么这种方法将会是事半功倍的。

(0)

相关推荐

  • 如何在两小时内搞懂PHOTOSHOP基础工具?

    小编:刚接触PS的童鞋,可能会觉得PS太麻烦了,有那么多快捷键!也不知道从何开始,那么今天这篇教程就是教大家如何在两小时搞懂PS的基础工具.教程很有意思,大家加油咯! 教程很有意思,从A--Z 依次讲 ...

  • 如何查看AI文件/档的页面大小?

    AI是矢量软件,相信做设计的小伙伴们都对它不陌生吧!有小部分印刷公司的职员也就是非设计师对AI还是不够熟悉的,因为AI对文档这个事吧,还是没有PS那么直观的,比如前段时间看到贴吧就有小伙伴问这个问题, ...

  • Xcode中的iOS模拟器(iOS Simulator)的介绍和使用心得

    iOS功能简介iOS模拟器,是在Mac下面开发程序时,开发iOS平台的程序时候,可以使用的辅助工具. 其功能是,帮你模拟iOS平台设备,在模拟器上运行对应的程序,以方便你没有实体设备的时候去调试程序. ...

  • 如何在Xcode中制作APP登录界面

    我们用Xcode开发APP的时候,首先要做的就是登录界面.那么如何在Xcode中制作APP登录界面呢?下面小编给大家分享一下. 操作方法 01 首先打开Xcode软件,新建一个Single View ...

  • 如何在Xcode中创建C++静态库

    之前做端游,写了不少C++类,这些类都是跨平台的,为了方便在Xcode下开发,所以想整理成一个静态库,我是新学Xcode,所以将整个过程记录下来,以供同样有需要的朋友参考. 操作方法 01 运行Xco ...

  • MAC中通过Xcode启用高清视网膜屏幕显示效果的具体步骤

    苹果手机中的高清视网膜屏幕显示效果让许多用户都深深的喜欢上了,不过其实在MAC电脑中也有这个功能,只是默认被隐藏了,那么该如何启用这个Lion系统中隐藏的功能呢? 如何打开MAC中的高清视网膜屏幕显示 ...

  • 在ppt中怎么将文字转换为矢量图形

    随着科技的发展,电脑已经成为了人们办公的重要工具,当我们在使用ppt制作幻灯片时,该如何将文字矢量化呢?接下来就由小编来告诉大家.具体如下:1. 第一步,打开电脑中的一个ppt文档,进入主页后,点击上 ...

  • xcode是什么 有什么用 xcode怎么用详情介绍

     xcode是什么: 下面就一起来了解一下吧 Xcode是苹果公司向开发人员提供的集成开发环境(非开源),用于开发Mac OS X,iOS的应用程序。其运行于苹果公司的Mac操作系统下。 不管你用C、 ...

  • xcode怎么安装?xcode安装使用方法教程详解

    xcode怎么安装呢?xcode是苹果公司向开发人员提供的集成开发环境,具体xcode怎么安装呢?我们一起来看看xcode安装使用教程吧,希望可以对大家有所帮助。 xcode怎么安装: 第一步,找一台 ...