摘要:
警告,动作表单和模式视图是视图的几种类型,当需要引起用户的注意,或者需要提供额外的选项或功能时,这些视图就会出现。图7-1显示了这几种视图的例子。图 7-1动作表单,模式视图和警告要了解这几种类型视图的编程实现,请参考“模式视图控制器”。用法和行为警告,动作表单和模式视图都是模式的,这意味着用户必须通过点击按钮显式地关闭它们,然后才可以继续使用应用程序。虽然有些时候您需要警告用户潜在的危险动作,或是向他们提供额外的选项,但您一定要避免过度使用这些视图,这是因为:所有类型的模式视图都会中断用户的工作流程。过度频繁地出现请求确认的视图很可能会适得其反,它们想要带给用户的帮助反而变成了打扰。特别地, 阅读全文
摘要:
状态栏,导航栏,标签栏和工具栏在iPhone应用程序中具有特别定义的外观和行为的视图。它们不需要在每个应用程序中都出现(在那些令人惊叹的应用程序中经常是一个也不出现),不过一旦决定让它们出现在应用程序中,就一定要正确地使用这些视图。原因在于使用iPhone OS设备的用户都熟悉它们所提供的功能,对它们显示的信息和执行的功能类型早已习惯。状态栏状态栏显示与用户设备相关的重要信息,包括电话信号强度,当前网络连接和电量信息。图6-1显示了一个状态栏的例子。图 6-1一个包含用户所需的重要信息的状态栏尽管一个全屏的应用程序可以隐藏状态栏,但是您应该仔细考虑这一设计方案。人们总是希望可以看到当前设备的电 阅读全文
摘要:
在深入研究视图和控件的具体细节之前,先对这些元素在一起工作的方式以及用户期望的行为有一个较高层次的理解,对您来说大有裨益。本章将介绍构成大多数应用程序的各种视图,帮助您了解它们的具体信息以及如何使用它们。想要详细了解每一个用户界面元素的外观,行为和使用指南,请务必阅读本章后面的章节。理解每个用户界面元素是如何针对它的用法进行设计的,能够帮助您在应用程序中正确地使用它,并在适当的情况下根据您的需要定制用户界面元素。应用程序的屏幕及其内容无论是什么类型的应用程序,都有一个应用程序窗口,该窗口为您提供了一个能够呈现应用程序的所有信息的背景。但是用户对这个窗口没有概念,他们对应用程序的体验来自屏幕上的 阅读全文
摘要:
如果您具有使用桌面计算机或便携式计算机应用程序的经验,那么您会发现iPhone应用程序处理很多常见任务的方式与它们不同。本节从人机界面的角度描述了这些常见任务;关于代码实现的技术细节,请参考iPhone应用程序编程指南。启动iPhone应用程序应能够迅速启动,从而用户可以立即开始使用它们。启动时,iPhone应用程序应该:指定适当的状态栏样式(关于可用样式的信息请参考“状态栏”一节)。显示一幅酷似应用程序初始屏幕的启动图像。这减少了用户感知到的应用程序的启动时间。要了解更多有关的信息,请参考“启动图像”。避免显示“关于”窗口,启动画面,也不要提供任何其他类型的妨碍用户立即使用应用程序的体验。默 阅读全文
摘要:
当您开发iPhone应用程序时,您需要了解iPhone OS以及移动设备环境的各个方面给您的设计带来的影响。本章涵盖了从产品定义到品牌宣传的一系列程序设计问题的指导方针,并介绍了在iPhone应用程序中是如何解决这些问题的。给出产品定义说明在开始设计您的应用程序之前,精确定义您的应用程序是用来做什么的非常重要。一个比较好的方法是撰写一份产品定义说明—用于描述您的应用程序的主要功能及目标用户的文档。创建产品定义说明不仅仅是一种练习,相反地,它是将一系列产品功能转化成一个清晰完整的产品的最佳方法之一。首先,花些时间定义您的目标用户:他们是专家还是新手?是严谨的还是随和的?是带着特定任务来寻求帮助还 阅读全文
摘要:
优秀的用户界面应该遵循一些人机界面设计准则,这些准则来源于人—也即用户—思考和工作的方式,而不是设备的能力。没有吸引力的,令人难以理解的或是不合逻辑的用户界面会让一个原本优秀的程序成为垃圾,而漂亮,直观而又吸引人的用户界面不仅可以改善程序的功能,还能激发用户的正面依赖感。即使您已经对基本的设计准则有所了解,这一章也值得您读一下,因为本章着重讲述了这些准则是如何应用在iPhone应用程序中的。隐喻尽可能按照现实世界中的对象和操作来对您程序中的对象和操作建模。这能够帮助用户,尤其是新手,迅速地理解您的应用程序的是如何工作的。文件夹就是一个典型的软件隐喻。因为在现实世界中,人们将文件放在文件夹里,所 阅读全文
摘要:
iPhone OS支持很多类型的软件,从基于Safari的Web应用,到iPhone本地应用程序,都可以运行在iPhone OS设备上。本章概要地介绍了为iPhone OS设备创建不同类型软件的解决方案。如果您刚接触该平台,您应先阅读第一节中iPhone OS设备和其他计算机的差异总结,“牢记平台间的差异”。虽然此节的信息并不全面,但已经包含了您在设计iPhone应用程序时需要意识到的问题。接下来,本章阐述了设计不同应用程序风格和特点时的思维方式,以帮助您设计iPhone应用程序。本章也阐述了如何将现有的Mac OS X应用程序转换为iPhone OS版本的应用程序。牢记平台间的差异iPhon 阅读全文
摘要:
iPhone和iPod touch融合了革命性的多点触摸技术和多种强大功能,如电子邮件,即时通信,全功能网页浏览器和iPod等,另外iPhone还具有移动电话的功能。iPhone OS是在iPhone和iPod touch上运行的系统软件。随着iPhone SDK的发布,这些强大的功能为开发人员提供了众多的开发可能。开发者不但可以创建在iPhone OS设备上使用的网页内容,还可以使用iPhone SDK来创建在设备中储存和使用的本地程序。本文档可以帮助您了解可以为iPhone OS创建何种类型的应用程序以及优秀iPhone程序基础的人机界面设计准则。在本文档中,您可以了解到如何在设计最佳用户 阅读全文
摘要:
在传统的桌面应用程序中,偏好设置是一些专门面向应用程序的设置,用于配置应用程序的行为和外观。iPhone OS也支持应用程序偏好设置,但并不将它作为应用程序整体的一部分。在iPhone OS上,应用程序级别的偏好设置并不由各个程序本身的定制界面来显示,而是由系统提供的Settings程序统一显示。为了将定制的应用程序偏好设置集成到Settings程序中,您必须在应用程序包的顶级目录中包含一个特殊格式的Settings程序包,由它负责将应用程序的偏好设置信息提供给Settings程序,而Settings程序则负责对其进行显示,并将用户提供的值写入偏好设置数据库。在运行时,您的应用程序可以通过标准 阅读全文
摘要:
iPhone OS支持很多使移动计算的用户体验更具吸引力的特性。通过iPhone OS,应用程序可以访问诸如加速计和照相机这样的硬件特性,也可以访问像用户照片库这样的软件特性。本文的下面部分将描述这些特性,并向您展示如何将它们集成到您的应用程序中。确定硬件支持是否存在为iPhone OS设计的应用程序必须能够运行在具有不同硬件特性的多种设备上。虽然像加速计和Wi-Fi连网这样的特性在所有设备上都是支持的,但是一些设备不包含照相机或GPS硬件。如果您的应用程序要求设备具有这样的特性,应该在用户购买之前通知他们。对于那些不是必需、但如果存在就希望支持的特性,则必须在试图使用之前检测它们是否存在。重 阅读全文
摘要:
无论多媒体功能在您的应用程序中是处于中心地位,还是偶尔被使用,iPhone用户都期望有很高的品质。视频应该充分利用设备携带的高分辨率屏幕和高帧率,而引人注目的音频也会对应用程序的总体用户体验有不可估量的增强作用。您可以利用iPhone OS的多媒体框架来为应用程序加入下面这些功能:高品质的音频录制和回放生动的游戏声音实时的声音聊天用户iPod音乐库内容的回放在支持的设备上进行视频的回放和录制本章将介绍iPhone OS上为应用程序添加音视频功能的多媒体技术。在iPhone OS上使用声音iPhone OS为应用程序提供一组丰富的声音处理工具。根据功能的不同,这些工具被安排到如下的框架中:如果希 阅读全文
摘要:
运行在iPhone OS系统上的应用程序可以通过各种Core OS和Core Services框架来访问本地的文件系统和网络。读写本地文件系统的能力使您可以保存用户数据和应用程序状态,以备后用;而访问网络的能力则使您可以和网络服务器进行交流,进而实现远程操作的执行和数据的收发。文件和数据管理iPhone OS系统上的文件和用户的媒体数据及个人文件共享闪存上的空间。出于安全的目的,您的应用程序被放在其自己的目录下,并且只能对该目录进行读写。本章的下面部分将描述应用程序本地文件系统的结构及几个读写文件的技术。常用目录出于安全的目的,应用程序只能将自己的数据和偏好设置写入到几个特定的位置上。当应用程 阅读全文
摘要:
iPhone OS文本系统的设计者考虑了移动设备用户的基本需求,将文本系统设计为电子邮件和SMS程序中常用的单行和多行文本输入控件。文本系统支持Unicode,且包含几个不同的输入法,方便显示和读取不同语言的文本。关于文本和Web的支持iPhone OS的文本系统提供了大量的功能,同时又非常简单易用。UIKit框架中包含几个高级类,负责管理文本的显示和输入。该框架还含有一个更为高级的类,用于显示HTML和基于JavaScript的内容。本文的下面部分将描述iPhone OS对文本和web内容的基本支持。如果您需要这里列举的各个类的更多信息,请参见UIKit框架参考。文本视图UIKit框架提供三 阅读全文
摘要:
高质量的图形是应用程序用户界面的重要组成部分。提供高质量的图形不仅会使应用程序具有好的的外观,还会使它看起来象是系统的自然扩展。iPhone OS为创建高质量的图形提供两种路径:即通过OpenGL进行渲染,或者通过Quartz、Core Animation、和UIKit进行渲染。OpenGL框架主要适用于游戏或要求高帧率的应用程序开发。它是一组基于C语言的接口,用于在桌面电脑上创建2D和3D内容。iPhone OS通过OpenGL ES框架来支持OpenGL描画,该框架同时支持OpenGL ES 2.0和OpenGL ES v1.1。OpenGL ES是特别为嵌入式硬件系统设计的,和桌面版本的 阅读全文
摘要:
本章将描述iPhone OS系统中的事件类型,并解释如何处理这些事件。文中还将讨论如何在应用程序内部或不同应用程序间通过UIPasteboard类提供的设施进行数据的拷贝和粘贴,该类是iPhone OS 3.0引入的。iPhone OS支持两种类型的事件:即触摸事件或运动事件。在iPhone OS 3.0中,UIEvent类已经被扩展为不仅可以包含触摸事件和运动事件,还可以容纳将来可能引入的其它事件类型。每个事件都有一个与之关联的事件类型和子类型,可以通过UIEvent的type和subtype属性声明进行访问,类型既包括触摸事件,也包括运动事件。在iPhone OS 3.0上,子类型只有一种 阅读全文