iOS App界面设计创意与实践

978-7-115-29647-4
作者: 【美】Shawn Welch
译者: 郭华丰
编辑: 汪振

图书目录:

详情

本书能让设计师快速学会iOS最简单有用的开发基础、工具、UI设计;能让开发者快速掌握怎么做才能得到最恰当的应用程序UI设计和交互设计。

图书摘要

iOS App界面设计创意与实践

[美]Shawn Welch 著

郭华丰 译

人民邮电出版社

北京

在移动开发领域,也许每个App的用途都有所不同,不过它们都一定是源自于同一个开始,那就是一个最初的创意。这个创意可以来自于任何人——设计师或者开发者,营销经理或者CEO。本书的意义就在于向读者介绍如何把创意变成真实的App。

本书包括iOS入门、iOS用户界面基础、设计iOS自定义用户界面对象、向UI添加动画、通过手势进行人机交互等5个部分。由浅入深地向读者介绍如何搭建iOS开发系统,并最终将自己的创意付诸于真实的App之中。

本书适合iOS开发者学习使用。

献辞

献给我的父母:Dave Welch和 Kelly Welch。

感谢你们为我更好地成长做出的牺牲,感谢你们在我的生命中所投入的时间,我的成功也就是你们的成功。

致谢

非常感谢Kelby Media集团的Dave Moser和Scott Kelby。在他们的团队中,我的技术得到了完善,并且逐步成长为一个iOS开发者。同时,Scott Kelby在百忙之中抽空给本书写了序,我由衷地感激他这么多年给我的建议和支持。

感谢Matt Kloskowski、Dave Cross、RC Concepcion、Corey Barker、Paul Wilder、Erik Kuna、Tommy Maloney以及其他NAPP的朋友们,他们为我的某些App的早期版本提供了很多有价值的反馈。同样感谢Nancy Massé,她总是给我提供很多帮助,是她首先把我介绍给了Dave Moser 和Scott Kelby。

感谢Scott Cowlin,是他第一个支持我疯狂的想法:写一本给设计师看的技术书籍。同样感谢Michael Nolan、Margaret Anderson、Gretchen Dykstra以及其他在Peachpit出版社的员工,在他们的帮助下,我才把这个想法变成了不可思议的书本。感谢我的技术编辑Scott,他真是个“钓鱼能手”,他对细节非常关注,连代码部分最细小的录入错误都不放过。

特别要感谢Alan Cannistraro、Evan Doll、斯坦福大学以及苹果公司对我和其他iOS开发者的教导和鼓励,并感谢他们将其课程、讲座和学习资料免费在线提供。

感谢Cholick,他每天都为我不成熟的观念和疯狂想法出谋划策,并且持续了将近4年。

我很感激我的父母Dave Welch和Kelly Welch,以及我的兄弟们和他们的家人——Eric和他的妻子Gretchen,Danny和他的妻子Katie,还有Kyle,感谢他们提醒我在生活中要时刻保持谦虚和幽默的心态。

当然,感谢每一个使用我的App的人、我Twitter的粉丝、Facebook上的朋友们,以及在世界各地的NAPP成员。一个iOS设计者或开发者的成功来自于经验,他们对我的应用程序的反馈,给了我撰写本书的经验。谢谢他们。

Shawn Welch

在你的脑海中想象一个iPhone,很好,现在在此基础上开始想象任何其他智能手机。继续想象这部智能手机,直到你拥有一个对它非常清楚的印象。明白了吗?很好。

我猜测你想象的智能手机——不管是什么品牌或者什么制造商,它一定有一个触摸屏、一个内置的加速计、一排排玻璃质感的图标和它们后面的壁纸图片。我打赌,你用手指触碰屏幕去翻阅你的照片,对吧?不管它是不是iPhone,但它运作起来甚至看起来都像一个iPhone。

苹果公司推出的iPhone是如此经典,以至于现在几乎每一款新出的智能手机或者平板电脑都在对它们进行模仿。不过令人兴奋的是其他智能手机和平板电脑的厂家并没有真正抓住iPhone和iPad的精髓。

让iOS设备区别于其他智能手机和平板电脑的是它的应用程序。虽然其他智能手机和平板电脑现在也有为数众多的应用程序,但是它们的开发者和最终用户不像设计和使用iOS应用程序的人那样能得到丰厚的回报。

iPhone本身就是一个设计精美的艺术品,当然iPad也是,持有它们中的任何一个,你都会情不自禁地喜欢上它。而它的应用程序更是会让你深爱不已。每个人的iPhone或者iPad都会自带一些基本的应用程序,如日历、地图、天气、计算器等,一旦开始添加第三方应用程序,它就变成你自己的iPhone、iPad。它是非常个性化的,因为你的应用程序体现了你的生活、你的个性和你的喜好。应用程序改变着我们的生活方式、我们的企业运营方式,甚至包括我们的业余生活。想象一下,如果你创造的应用程序可以吸引人们去使用,甚至感动他们,让他们用一种前所未有的方式去创造、去沟通,那你该有多么强大啊。

好,你马上就会获得这种力量。

最棒的是,你将会从一名才华横溢、激情四射的天才程序员身上获取这种力量。他已经为我的公司设计、开发出了无数的应用程序,而且我听到最多的评论就是:“哇,你在哪里发现了这家伙!”

Shawn能以某种方式理解终端用户的需求,而任何平台上几乎从来没有开发者能做到这一点。他明白用户使用应用程序的方式,并且能从用户的角度来看问题,所以使用他的应用程序的人会有种宾至如归的感觉。他的应用程序是直观的、有趣的,就像苹果产品本身一样,Shawn知道如何使一个应用程序恰到好处。

在这本书里,Shawn将会向你介绍那些可以把想象变为现实的工具,如何设计那些人们想要使用并会口耳相传的应用程序。他解开了一个伟大的奥秘:什么才是卓越的应用程序,以及到底如何才能正确地构建出这样的应用程序。无论你是一个想把创意变成现实的设计师,还是一个想要学习强大设计力量的开发者,本岀都将是为你打开那扇门的一本书,你要做的就是翻开它。

在这激动人心的新冒险中,我真心地祝大家好运,并且我也很高兴看到大家已挑选了这样一位伟大的向导。现在,就让我们来设计一些真正伟大的东西吧!

Scott Kelby

The iPhone Book一书的作者

每个人对应用程序都有自己的想法。这是我对你的预言,因为当你读完这本书,并开始告诉别人你要为iPhone或者iPad开发应用程序时,这句话就会应验。在你完成任何你设计的功能前,都会听到有人说:“我对应用程序有个想法。”

自然,作为一名应用程序开发人员或者设计人员,你可能选择遵循不成文的规则,有礼貌地倾听这些意见并作出反应:“有趣,这是一个好主意!”与此同时,你的心里却开始思考这个想法无法实现的诸多原因,以及如果这样的应用程序已经存在了又如何,或者如果除了告诉你这个主意的人之外没有其他的潜在用户怎么办,再或者如果 iTunes App Store 拒不批准怎么办。

因此,尽管每个人都可能有一个关于应用程序的想法,但我们知道这不是故事的结局,不然你就不会读这本书。很少人知道如何把一个想法——可能是很不成熟的想法,设计成一个强大的移动设备的用户体验,从而最后把这个想法开发出一个五星级应用程序。想法容易得到,但是把想法变成用户喜欢的应用程序却很困难。

2010 年9月9日,苹果公司公布了iTunesApp Store(应用程序商店)审评指南。其中的第10条大致如下:

苹果公司和我们的顾客很看重简单、精炼、有创意、经过深思熟虑的用户界面,它们要花费很多的工作但是很值得。苹果公司设置了一个很高的标准。如果你设计的用户界面复杂或不够好,那么它可能会被拒绝。

换句话说,苹果公司认为用户体验非常重要,任何在这方面有缺陷的App都可能会遭到拒绝。

问题来了,如何为iPhone和iPad设计和开发卓越的应用程序?在我们回答这个问题之前,有个重要的事实需要知道,衡量应用程序是卓越还是平庸的标准是:用户体验。

用户体验包含用户界面(U I)、用户工作流程、动画、手势、插画以及应用程序传达给用户的整体感觉。设计最佳的用户体验需要领会的不仅是可用的用户界面元素和导航,还有改造这些元素和导航以便适应应用程序独特的需求。正如苹果公司在 iTunes App Store审核指南中阐述的:iOS应用程序用户期望丰富和沉浸式的体验。

你不能像在网页或者一些桌面应用程序那样用单个屏幕来设计iOS应用。iOS应用程序用户期望丰富的动画、手势和工作流程。作为一个设计师,你需要了解如何将静态的屏幕截图和完整的用户需求传递给开发人员。通常,唯一的办法是使用开发者语言,或者至少知道主要因素是什么。

作为一名开发者,你知道iOS是一个功能强大的系统,它允许深入地定制标准的UI元素。掌握如何定制对象使其适应应用程序的独特风格,将有助于你的应用程序在众多的应用中脱颖而出。深谙什么是用户所期待的,以及哪些方面是可以进一步拓展的权衡能力,将有助于创建最佳的用户体验。

我写作本书的目的有两个。

第一,是针对想要学习iOS应用程序设计的设计师。虽然代码示例和技术交流超出了你的专业领域,我希望你读完本书后,具备评判一个iOS应用程序的能力,并且能够描述那些不同的UI元素、导航样式、动画以及手势。你应该能够坐在会议室与开发人员就如何把你设计的用户体验变成应用程序进行沟通。

第二,是针对想要学习iOS开发的开发人员,本书不是一本入门性的读物,而是对现有知识的增强。我假设你已经知道一些基本的知识,比如,如何使用Objective-C编程,以及至少了解面向对象编程思想。希望你读完本书后,能满意于你定制的和创建的自己的UI元素、动画以及手势——这是整合良好的设计和独特的元素到应用程序所必需的工具。

当然,如果有人读完本书后面带笑容,感到幸福,或者比拿起本书时心情更加愉快,那也不错。

有一件事是肯定的:总是会有新的iPod不断推出。过去的10年中都是这样的,我认为未来的数年时间将会持续。没有人可以质疑iPod对社会产生的影响。有趣的是,在近几年iPod在更具突破性的iOS系统上简直变成了一个特性,或者说一个应用软件。

当iPhone首次在2007年夏季推出时,苹果公司发布了一个新的操作系统(OS)叫做iPhone OS。iPhone OS是当时运行在手机上的最强大的操作系统。事实上,它基于与运行在苹果桌面电脑和笔记本电脑上的操作系统 Mac OS X 相同的内核架构。那么是什么使iPhone OS变得特殊呢,是新出现的 Cocoa Touch,一个允许用户使用多点触碰和加速计来操作设备的UI层。没有键盘,没有鼠标,光标、点击和打字操作迅速被轻扫、轻点和摇晃取代。

图1.1 iPhone和iPad上的iOS应用程序

快进到今天。iPhone OS只是变得更加强大了。在 2010 年夏天,随着该平台的第 4 代版本推出,苹果公司把 iPhone OS改名为了iOS。苹果公司的基于触摸的产品线扩大到不只包含iPhone,还有iPod touch 和iPad。这一变化也给苹果公司带来了机会,把iOS的功能,比如快速应用程序切换和App Store引入到更加传统的台式机和笔记本电脑之中。

表1.1列出了所有的iOS设备,以及截至2010年12月它们支持的最新的iOS版本。

表1.1 苹果公司的设备以及支持的最新的iOS版本

续表

*表示支持该iOS版本但缺少一些特性,比如多任务、主屏幕背景图片等。

设计和开发iOS应用程序的好处之一是,提供给你的工具和资源的质量和数量。苹果公司在开发工具方面做得很好,提供了专用于创建iOS应用程序的开发工具。此外,苹果公司为iOS软件开发工具包(SDK)和iOS应用程序编程接口(API)编写了大量的文档和参考资料。可以用来设计和开发iOS应用程序的4个主要工具如下:

Xcode;

Interface Builder;

iOS Simulator;

Instruments。

开发者注意事项

开始之前,先去developer.apple.com的iOS Dev Center注册为Apple developer。注册是免费的。根据Free Program,你可以下载最新的Xcode和iOS SDK,访问完整版本的iOS文档,以及在iOS模拟器运行你的应用程序。通过购买获得的iOS Developer Program(每年99美元),你就可以下载预发布的iOS软件,在你的设备上安装和测试你的应用程序,以及把你的应用程序提交到iTunes App Store。针对公司、企业和学生还有另外一些iOS Developer Program付费方式。

Xcode

Xcode是苹果公司的主要集成开发环境(IDE)。此应用程序用于创建在苹果设备上运行的应用程序。iOS应用程序的开发直接在Xcode中进行。你将使用Xcode来编写最终成为应用程序的代码。

图1.2 Xcode应用程序

Interface Builder

Interface Builder 实际上是 Xcode 的一个组件,是为苹果设备做开发的应用程序套件的一部分。在 Xcode 3.1.x中,Interface Builder 是一个单独的应用程序,然而,随着Xcode 4.0的推出,它已经直接内建到了Xcode中。Interface Builder 提供了创建 iOS应用程序UI的图形化用户接口。你可以把UI对象拖曳到画布上,并为这些UI组件创建与Xcode中代码的链接。

图1.3 Interface Builder应用程序

设计师注意事项

你可以从苹果公司的开发者网站或者fromideatoapp.com/download/xcode(本书的网站)下载Xcode和Interface Builder。虽然要把应用程序提交到iTunes App Store需要你注册iOS Developer Program(99美元),但是若只是下载iOS SDK和Xcode你只需要免费注册为Apple Developer。使用Interface Builder,你可以轻松地为iPhone、iPod touch和iPad创建和试验简单的UI布局。

iOS Simulator

iOS Simulator将随 Xcode 一起安装,但是需要安装 iOS SDK以便运行 iOS Simulator本身以及在它上面运行用Xcode 创建的应用程序。iOS Simulator正如它的名字表达的意思:它可以让你在一个虚拟的iPhone或者iPad环境中测试使用Xcode创建的iOS应用程序,提供即时的反馈和测试数据。但是在 iOS Simulator 上运行应用程序时,模拟器将会访问你的台式机或者笔记本电脑的系统资源(处理器、内存、显卡等)。出于这个原因,在性能及相关问题方面,iOS Simulator 并不能替代实际设备。实际设备没有台式机电脑那么强大的功能和那么多的资源,所以在提交应用程序到iTunes App Store审核之前,在实际的iOS设备上测试它们是基本要求。在实际设备上测试通常会暴露一些在模拟器上不明显的bug。

图1.4 iOS Simu-lator应用程序

小窍门

iOS Simulator应用程序允许你模拟iPhone 和 iPad。你可以通过在顶层菜单Hardware>Device进行选择,从而在这些模式之间切换。

图1.5 在iOS Simulator中改变设备

Instruments

每一个优良的应用程序都会做若干测试。每一个卓越的应用程序都会做性能测试。Instruments 是一个奇妙的应用程序,设计的目的只有一个:提供应用程序运行时实时的性能数据。使用Instruments,能够实时跟踪应用程序分配的内存、处理器的负载、帧率以及更多的数据。针对iOS的新手,相当复杂的问题之一是如何掌握内存管理的最佳方法。在iOS应用程序开发中,创建和从内存中释放变量是开发人员的职责,如果开发人员没有这样做,应用程序要么崩溃,要么“泄漏”内存。内存泄漏会导致屏幕不稳定,以及给性能带来负面的影响。Instruments可帮助你识别内存泄漏,告诉你何时何地发生了内存泄漏。

图1.6 Instruments应用程序

在我们深入 iOS UI、动画和手势背后的技术之前,掌握一些基础知识很重要。对于设计师而言,虽然不要求读完本书后能够编写代码,但是有一些标准的iOS开发策略,开发者或者必须在基于 iOS SDK开发中遵循,或者应该作为最佳实践来遵循。作为设计师,了解这些因素对开发人员的影响,对于理解如何设计最佳用户体验是至关重要的。作为开发人员,快速温习一下最佳实践并没有害处。

模型—视图—控制器

当谈及编码原则时,模型—视图—控制器(MVC)是最基础的。其核心思想是,MVC描述了应用程序的数据、用户界面和“大脑”的关系。通过设计, MVC的三个组成部分都保持独立。在图1.7中,你可以看到模型—视图—控制器体系结构的基本关系。其中,黑线表示直接关联,而浅色线表示间接关联。

图1.7 模型—视图—控制器体系结构

模型—视图—控制器设计对于iOS应用程序尤其重要。为了有助于解释原因,让我们使用iPhone的地址簿应用程序作为例子。

模型

M VC中的模型是应用程序存储数据的地方。对于地址簿来说,数据是所有的联系人。该模型知道地址簿里每个人的所有数据,但是它没有办法把数据呈现给用户看。

因为地址簿的模型是与视图和控制器分开的,作为开发人员,你可以在自己的应用程序中访问用户地址簿联系信息,并且用于不同的用途。你可以重新设计联系信息呈现给用户的方式,或者重新设计你的应用程序与数据的交互方式。同样,当设计自己的应用程序时,把模型与视图和控制器分开的设计能让升级、修正bug和重用代码更加轻松和快速。

视图

M VC中的视图通常是用户界面:即用户所看到的,包括使用应用程序所需要的选项。在某些情况下,视图可以直接和模型对话,但是通常是通过控制器来和模型产生交互,控制器决定了一个行为该做什么。在通讯簿的例子中,视图是你在设备屏幕上看到的联系人名单。当你在视图中选择一个联系人时,这个行为会发送到控制器。然后控制器从模型中取得必要的联系信息,再把这些信息往回传递给视图,视图最终显示给用户。

控制器

控制器是应用程序的大脑。控制器通常决定了应用程序的导航风格和工作流程。模型存储数据,视图呈现数据,而控制器决定了如何存储和存储什么样的数据,以及如何呈现和呈现什么样的数据。

让我们再来看通讯簿的例子,但是这次来搜索一个联系人。我们在视图的搜索框里轻敲,开始执行搜索,视图告知控制器“我在搜索联系人XYZ”控制器接受这个搜索请求,然后决定如何以最优的方式从模型那里获取所需的信息。一旦控制器从模型那里获得所需的信息,它就传回给视图,最后视图把信息呈现给用户。

值得注意的是,M VC架构内部是循环的。信息和行为在组件之间自由流动,但是需要良好地建立每个组件,以便这些核心任务能独立。

获取代码

从 fromideatoapp.com/downloads/ch1#mvc 下载演示模型—视图—控制器的演示程序,然后自己试一试。

子类

子类化是iOS开发的另一个核心原则,并且是面向对象编程的基本概念。子类化是基于继承的,这意味着子类继承超类或者父类的属性。这听起来非常技术化和混乱,但它实际上并不是。让我们来看一个子类化的例子,它与编程没有任何关系。

想象一下你要买一辆新车。当你走进一家经销商,第一眼就看到一辆普通的四门轿车。销售员告诉你,这辆汽车配备了基本的功能,它有红色、蓝色或银色可以选择。这款车听起来挺划算的,但你告诉销售员你想要的是黑色,并且需要配备内置卫星无线电导航系统,这时优秀的销售员一般都会把你领到下一辆车跟前:SE车型,价格较高,但是它是黑色的,并且除了最基本的配置之外,还有一个内置卫星无线电导航系统。

这个例子中,你可以认为SE车型是标准车型的一个子类。

当一个东西是子类时,意味着在默认情况下,子类包含父类所有的属性和功能。但是,子类可以在超类基础上重写或者添加新的属性(不改变超类的功能)。在我们的汽车比喻中,默认情况下,SE车型拥有标准款车型所提供的一切。但除了这些功能之外,你可以改变汽车的颜色为黑色,并添加新的属性,例如内置卫星无线电导航系统。

你将会发现,iOS在整个SDK中使用的标准用户界面元素和控制器原理和前面一样。通常情况下,你可以利用这些标准元素,继承它们从而改造它们,使其符合你的独特需求。我们将在第二篇中更加详细地探讨子类化。

内存管理

正如前面我们在讨论Instruments时提到的,开发人员负责创建和释放内存变量。这对开发新手来说很棘手,那么我们所说的“创建”和“释放“变量到底是什么意思呢?当你创建一个变量时,你的应用程序会分配少量的内存来存储该变量的值。当你用完了一个变量时,该内存空间需要被释放(用于以后再次被新的变量使用)。如果一个变量使用的内存块没有释放,它会导致内存泄漏,这意味着有一个不被任何代码使用或引用的变量占用着内存空间。当内存泄漏得越来越多时,你的应用程序变得不稳定并且响应速度慢。这是因为移动设备上的宝贵资源——内存正在被永远不再使用的变量浪费着。

iOS应用程序是使用Objective-C编程语言来编写的,这种语言使用保留—释放方法来管理内存。所用的概念很简单:每个变量有一个保留计数,这个保留计数由对变量的引用的数量决定。当一个变量的保留计数为0时,iOS就会在某个时间自动把它从内存中释放。

因此,与其我们自己试图从内存中删除一个变量,还不如当我们用完变量后通过release方法减少其保留计数,如果保留计数是0,iOS就会自动删除这个变量。请看下面的代码块:

1 UIViewController *myVariable = [[UIViewController alloc]initWithNibName:nil bundle:nil];

2 myVariable.title = @"My Application";

3 [self.navigationController pushViewController:myVariable animated:YES];

4 [myVariable release];

第1行中,我们在内存里创建了一个名为myVariable的变量。一旦创建完成,myVariable的保留计数就是1。第2行设置了myVariable的title属性。设置变量的title或操纵其他属性不会影响保留计数,所以在第2行的末尾,myVariable保留计数仍然是1。然而,在第3行,我们把一个控制器压入到一个导航控制器。当我们把myVariable压入到一个导航控制器栈中,导航控制器栈要确保当需要变量时变量必须存在,因此它会递增保留计数。

第3行后,myVariable的保留计数是2。因为我们不再需要这个变量,并把维护变量的责任移交给导航控制器(它递增了保留计数),在第4行我们在myVariable上调用了release方法,这会递减保留计数。所以,在第4行后,myVariable的保留计数是1。

当导航控制器不再需要引用myVariable时,它会自动为myVarible调用release方法。由于myVariable保留计数是1,当导航控制器调用release方法时,结果是保留计数变成0,然后变量自动从内存中释放(删除)。如果没有在第4行调用release方法,将导致产生一个内存泄漏,因为myVari-able的保留计数永远不会变成0。

此外,如果在我们的代码块中调用两次release方法,将导致保留计数变成0,然而导航控制器仍然可以访问这个变量,当导航控制器下一次试图引用myVariable变量(现在已经不存在了)时,应用程序将会崩溃。

注意事项

苹果公司为iOS应用程序内存管理提供了丰富的文档和培训教程。你可以在fromideatoapp.com/reference#memory上访问这些文档,或者从苹果公司的开发者网站免费下载。

几年前当我开始开发iPhone应用程序时,我注意到的第一件事情是缺乏分工:对于大多数应用程序而言,设计师就是开发人员。当然,在一些情况下,公司为大型的应用程序项目配备了分工细致的开发团队。但是,在大多数情况下,缺少专职的设计师。

这令我非常吃惊。我知道许多天才有能力设计惊人的应用程序,但是他们正在踌躇不前。我开始意识到,他们的犹豫不是因为缺乏激情,而是缺乏如何开始的知识。由于iOS开发的封闭特性,它不像网页应用程序,设计师缺乏开发iPhone应用程序的基本知识,以及可以利用的开发组件。

对于 iOS,苹果公司编写了一个文档叫做人机界面指南(Human Inter-face Guidelines)。这些指南概括了iOS应用程序设计的一些预期行为和最佳实践。苹果公司把下面的核心原则作为开发和设计五星级应用程序的关键:

美观完整性;

一致性;

直接操纵;

反馈;

比喻;

用户控制权。

美观完整性

作为经验丰富的设计师和开发人员,当谈到iOS的设计原则时,我个人最喜欢美观的完整性。引用苹果公司的人机接口指南:

美观的完整性不是一个应用程序如何漂亮的度量,而是应用程序的外观和功能结合得如何恰到好处的度量。

每一个应用程序都至少应该有一些个性的插图,但不能以牺牲用户体验为代价。例如,如果你的应用程序正在尝试呈现有价值的信息给用户,这时如果用一些不是必需的插图或动画来分散用户的注意力,这可不是一个好主意。当谈到创建良好的用户体验时,简洁而有效比可有可无的华丽更能赢得用户的好感。

一致性

你的应用程序不是用户使用的第一个iOS应用程序。自然,苹果公司鼓励在应用程序之间保持一致性,并且定义了一组通用的风格和相应的行为。在本书中,我们将讨论一些影响一致性行为的方法,以便达到最佳用户体验。一般来说,遵循一致性的iOS应用程序会让用户能基于以前使用其他iOS应用程序的经验,直观和迅速地理解你的应用程序的用户界面。

直接操纵

直接操纵意味着,用户不需要界面按钮或控件来操纵屏幕上的对象。用户可以使用多点触控手势来缩放照片,或轻扫手势来从电子邮件列表中删除一封电子邮件。iOS鼓励设计师和开发人员把对象或者数据视为用户可以移动、删除、编辑或者管理的“东西”。

反馈

当用户在iOS中执行了某个操作时,他们希望一些有形的反馈来表明他们的行为。比较明显的例子是风火轮(spinner)或者进度条,告诉用户iOS正在做某件事情。当屏幕要变化时,反馈也很重要。动画通常用来向用户展示变化。例如,这样一个iPhone的手机应用程序:当用户在最近来电和未接来电列表之间切换时,不是突然改变这个列表,而是iOS使用动画来过渡这个列表,并根据需要删除或插入行。

比喻

我们将在全书使用一些比喻,当我们创建一个管理数据或者执行一个任务的应用程序时,使用比喻会很有意义。英语专业学生使用比喻描述两个相似的观念。而计算机程序使用比喻来以用户可以理解的方式描述虚拟对象或者任务。在计算机上,文件统一放入文件夹中,照片统一整理到相册中。一些比较常见的iOS比喻包括卡片式滑动导航、on/off开关、风火轮,以及可以从范围中做选择的“选择器”。

用户控制权

用户希望能完全控制应用程序。你的应用程序不应该没有提示用户就开始执行一个任务或者功能,并且不让他们可以选择取消这个任务或者功能。如果你的程序定期检查更新,但是对其功能不是至关重要,应该允许用户关闭此功能。如果你的应用程序产生时间表的事件,操纵用户的联系人,或改变任何设备上的本地信息,不应该不事先询问用户的意见。最后,你应该创建用户有最终控制权的应用程序——愿上帝帮助我们,如果iOS应用程序是天网(iSkynet)的话。

(译者注:在《终结者》系列电影中,天网是一个人类于20世纪后期创造的以计算机为基础的人工智能防御系统,最初是研究用于军事的发展。)

图书在版编目(CIP)数据

iOS App界面设计创意与实践/(美)韦尔奇(Welch, S.)著;郭华丰译.--北京:人民邮电出版社,2013.1

ISBN 978-7-115-29647-4

Ⅰ.①i… Ⅱ.①韦…②郭… Ⅲ.①移动终端—应用程序—程序设计 Ⅳ.①TN929.53

中国版本图书馆CIP数据核字(2012)第248973号

版权声明

Shawn Welch:From Idea to App:Creating iOS UI,Animations,and Gestures (ISBN:9780321765550) Copyright2011 by Shawn Welch.

Authorized translation from the English language edition pubilshed by New Riders Press.

All rights reserved.

本书中文简体字版由美国 New Riders Press 授权人民邮电出版社出版。未经出版者书面许可对本书任何部分不得以任何方式复制或抄袭。

版权所有,侵权必究。

iOS App界面设计创意与实践

◆著 [美]Shawn Welch

◆译 郭华丰

责任编辑 汪振

◆人民邮电出版社出版发行  北京市崇文区夕照寺街14号

邮编 100061  电子邮件 315@ptpress.com.cn

网址 http://www.ptpress.com.cn

北京精彩雅恒印刷有限公司印刷

◆开本:800×1000 1/16

印张:16

字数:231千字  2013年1月第1版

印数:1-3500册  2013年1月北京第1次印刷

著作权合同登记号 图字:01-2011-3847号

ISBN 978-7-115-29647-4

定价:59.00元

读者服务热线:(010)67132692 印装质量热线:(010)67129223

反盗版热线:(010)67171154

广告经营许可证:京崇工商广字第0021号

相关图书

SwiftUI极简开发
SwiftUI极简开发
iOS 14开发指南【进QQ群414744032索取配套资源】
iOS 14开发指南【进QQ群414744032索取配套资源】
iOS 11 开发指南
iOS 11 开发指南
iOS和tvOS 2D游戏开发教程
iOS和tvOS 2D游戏开发教程
Swift 3开发指南
Swift 3开发指南
iOS  项目开发全程实录
iOS 项目开发全程实录

相关文章

相关课程