在深入研究视图和控件的具体细节之前,先对这些元素在一起工作的方式以及用户期望的行为有一个较高层次的理解,对您来说大有裨益。本章将介绍构成大多数应用程序的各种视图,帮助您了解它们的具体信息以及如何使用它们。

想要详细了解每一个用户界面元素的外观,行为和使用指南,请务必阅读本章后面的章节。理解每个用户界面元素是如何针对它的用法进行设计的,能够帮助您在应用程序中正确地使用它,并在适当的情况下根据您的需要定制用户界面元素。


应用程序的屏幕及其内容

无论是什么类型的应用程序,都有一个应用程序窗口,该窗口为您提供了一个能够呈现应用程序的所有信息的背景。但是用户对这个窗口没有概念,他们对应用程序的体验来自屏幕上的画面,并且用户通过屏幕对应用程序进行操作。

虽然不是一个程序中的结构,但是您仍可以认为每个屏幕对应于应用程序的不同的可视化状态或模式。当用户浏览信息,切换标签页,或者点击“信息”按钮查看侧边弹出的配置信息时,他们看到的是各个独立的屏幕。

取决于程序的类型,您的应用程序的屏幕可能有多有少。例如,邮件应用程序可以显示一个帐户屏幕,各个帐户中的邮箱列表屏幕,各个邮箱内容的屏幕和显示一条消息的屏幕,还有一个写邮件的屏幕。然而,股票应用程序只显示两个屏幕:一个屏幕显示公司列表和股票走势图,另一个屏幕显示应用程序的配置信息。

通常,用户会把应用程序屏幕和设备屏幕当成是一回事。然而,应用程序屏幕的内容可能会超出设备屏幕的边界,这就需要用户滚动屏幕。例如,电话应用程序中的联系人只有一个单独屏幕,即使它的内容是设备屏幕的好几倍。

应用程序的屏幕可以包含各种各样的视图和控件的组合。某些视图会包含一些特定的控件,而有些控件可以用于很多不同的视图当中。

告警,动作表单和模式视图和普通视图不同,普通视图一般存在于应用程序的屏幕中,而它们浮动于应用程序的屏幕及其视图之上。更多有关这些视图的信息请参考“告警,动作表单和模式视图”

下面四种类型的视图在应用程序的用户界面中具有特殊的地位,但是它们并不需要在每个应用程序中被包含或总是可见。


状态栏。 这是一个独一无二的视图,虽然应用程序可以在一定程度上自定义状态栏的外观,但从技术角度讲,它并不属于应用程序窗口的一部分。更多信息请参考“状态栏”


导航栏。 这是个可选的视图,它出现于状态栏的下方,可以包括标题,按钮和分段控件。更多信息请参考“导航栏”


标签栏。 这是个可选的视图,它位于屏幕底部的边缘,能够切换应用程序中不同的模式。更多信息请参考“标签栏”


工具栏。 这也是个可选的试图,它同样位于屏幕底部的边缘,包含在应用程序的当前上下文中完成特殊动作的控件。更多信息请参考“工具栏”


图5-1在一个应用程序屏幕中显示了这些视图中的三种。请注意,如果该应用程序使用工具栏,它将出现在图中的标签栏处。


图 5-1  一个包含状态栏,导航栏和标签栏的应用程序屏幕


在一个能够显示这四种视图的组合的应用程序中,您可以将导航栏底部到工具栏顶部之间的区域视为内容区。在该区域中,应用程序屏幕可以包含任意视图来显示内容,如表视图,web视图和图像视图。图5-2显示了两个在iPhone操作系统中可用的内容区视图:表视图的一种和图像视图。请参阅“表视图,文本视图和Web视图”以了解更多有关这些视图的行为和外观,以及与其相关的控件。


图 5-2  两种类型的内容区视图


正如上文说过的那样,有一些控件只能在特定的视图中使用。显示提示符控件就是这样的一个例子,它在表视图中具有特殊用法。您可以在图8-1中的左边的列表中看到显示提示符(它看上去像是一个大于号>)。在介绍其相应视图的小节对这些控件有具体描述,但是,需要补充一点,也有少量控件(如详细显示提示符)具有更广泛的用途。请参阅“应用程序控件”来获得更多控件相关的信息。

 

 

 


在应用程序屏幕中使用视图和控件

在iPhone OS中,UIKit决定了视图以及控件的行为和默认外观。您应该尽可能地使用UIKit提供的标准用户界面元素,并遵循它们的使用建议。这样做对您最主要的好处有两点:


用户已经习惯了标准视图和控件的外观和行为。当您使用相似的用户界面元素时,用户之前的经验对于他们学习使用您的应用程序有所帮助。


即使iPhone OS改变了标准视图或控件的外观或行为,您的应用程序也能够继续工作,并且只需要少许改动(如果有的话)就能自动更新。


许多控件支持某种程度上的用户自定义,通常是颜色或内容(比如添加一个文本标签或一幅图像)方面。如果您想要开发一个能使用户沉醉其中的应用程序,一个好的做法是,您所创建的控件完全不同于默认控件。这是因为您创造了一个独特的环境,而去探索如何操控这个环境正是用户在优秀的应用程序中所期待的体验。

然而,一般来讲您应该避免彻底改变标准行为控件的外观。如果您使用用户不熟悉的控件执行标准行为,则用户不得不花时间熟悉如何使用它们,并且好奇这些控件具有哪些(哪怕只有一丁点)标准控件不具备的功能。


posted on 2011-05-25 16:53  一个人的天空@  阅读(510)  评论(0编辑  收藏  举报