## 1.2 iOS应用解析 (iOS App Anatomy)
几乎所有的iOS应用都应用了UIKit framework中定义的组件。了解这些基本组件的名称、作用和功能可以帮助你在应用的界面设计过程中做出更好的决策。
[![](https://box.kancloud.cn/2015-11-09_564017ee2e69e.jpg)](http://isux.tencent.com/wp-content/uploads/2015/10/20151021163632758.jpg)
UIKit提供的UI组件可以大致分为以下4种类型:
* **栏****(****Bars****)**:包含了上下文信息来指引用户他们所在的位置,以及控件来帮助用户导航或执行操作。
* **内容视图****(****Content Views****)**:包含了应用的具体内容以及某些操作行为,比如滚动、插入、删除、排序等等。
* **控件****(****Controls****)**:用于执行操作或展示信息。
* **临时视图****(****Temporary Views****)**:短暂出现给予用户重要信息或提供更多的选择和功能。
UIKit除了定义UI组件元素,还定义对象如何实现功能,例如手势识别、绘图、辅助功能和打印支持。
从编程的角度来看,UI组件元素其实是视图的子类,因为它们继承了UIView。视图能绘制屏幕内容并知道用户何时在其范围内触屏。视图的所有类型有:控件(比如按钮和滑块)、内容视图(比如集合视图和表格视图),以及临时视图(如警告提示和动作菜单)。
要在应用中管理一组或者一系列的视图,通常需要使用视图控制器。它能协调视图的内容显示,实现与用户交互的功能并能在不同屏幕内容之间切换。比如,“设置”使用了一个导航控制器来展示其视图层级。
这里有一个关于视图与视图控制器如何结合并呈现iOS应用的UI的例子,如图。
[![](https://box.kancloud.cn/2015-11-09_564017ee50b3e.png)](http://isux.tencent.com/wp-content/uploads/2015/10/201510191619260.png)
尽管开发者认为真正起到作用的是视图和视图控制器,但一般用户感知到的iOS应用是不同屏幕内容的集合。从这个角度来看,在应用里,屏幕内容一般对应于一个独特的视觉状态或者模式。
>[info] **注:**一个iOS应用程序包含一个窗口。但是,不同于计算机程序中的窗口,iOS窗口没有可见的部分并且不能在屏幕上被移动到另一个位置。很多iOS应用程序只有一个窗口;可以支持外部显示设备器的应用程序可以有不止一个窗口。
在*iOS Human Interface Guidelines*中,屏幕(*screen*)这个词和大部分用户理解的一样。作为一个开发者,你也许需要阅读一下其他与[UIscreen](https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIScreen_Class/index.html#//apple_ref/occ/cl/UIScreen)相关的章节,这样你可以更好的了解如何关联外部屏幕。
- (1):UI设计基础
- 1.1 为iOS而设计(Designing for iOS)
- 1.2 iOS应用解析 (iOS App Anatomy)
- 1.3 适应性和布局(Adaptivity and Layout)
- 1.4 启动与停止(Starting and Stopping)
- 1.5 导航(Navigation)
- 1.6 模态情境(Modal Contexts)
- 1.7 交互性与反馈(Interactivity and Feedback)
- 1.8 动画(Animation)
- 1.9 品牌推广(Branding)
- 1.10 颜色与字体(Color and Typography)
- 1.11 图标和图形(Icons and Graphics)
- 1.12 术语和措辞(Terminology and Wording)
- 1.13 与iOS的整合(Integrating with iOS)