2.1 iOS应用解析(iOS App Anatomy)
几乎所有的iOS应用都会用到UIKit框架中的组件。了解这些基础组件的名称,角色,功能可以帮你在应用界面设计时做出更好的决策。
UIKit提供的界面元素大概可以分为以下四大类:
- 栏(Bar):栏包含可以告诉用户目前位置的上下文信息,以及帮助用户导航和操作的控件。
- 内容视图(Content views):内容视图包含app相应的内容以及视图上的一些操作,如:滚动,插入,删除,排序等。
- 控件(Controls):控件执行一些操作或者显示信息。
- 临时视图(Temporary views):临时视图短暂的出现,给用户带来重要信息或额外的选择和功能
除了定义UI元素,UIKit还定义一组实现如手势识别,绘图,辅助和打印支持功能的对象。
从程序设计的角度上看,UI元素的类型其实是视图(view),因为都是继承于UIView。视图知道怎么把自己画到屏幕上,同时它也知道用户何时触碰到它的范围内。像控件(如按钮,滑块),内容视图(如集合视图,表格视图),还有临时视图(如警告提示,动作菜单)都是视图类型。
为了在你的app上管理这一组或一系列视图,通常情况下你需要一个视图控制器(View Controller)。视图控制器定义视图显示的具体位置,实现与用户交互的功能,也可以管理不同屏幕间的切换。例如:“设置”使用了一个导航控制器(Navigation Controller)来显示它的视图层级。
下面是一个视图如何与视图控制器结合呈现在iOS应用上的例子:
尽管开发认为在视图和视图控制器,但用户更倾向于把iOS应用当作一组屏幕(Screen)集合。从这个角度看,在应用里,屏幕内容一般对应一个独特的视觉状态或模式。
注:一个iOS应用包含一个窗口。但是,不同于计算机程序中的窗口,iOS的窗口没有可视的部分,它不能移动到另外一个位置显示。大部分iOS应用只包含一个窗口;可以支持外部扩展设备的应用程序可以有多个窗口。
在iOS人性化界面指南(iOS Human Interface Guidelines)中,屏幕(Screen)这个词和大部分用户理解的一样。但做为一个开发者,你应该阅读一下关于屏幕的其他内容,具体可以看下UIScreen对象的相关章节,这样你就可以了解如何进入一个扩展的显示屏幕。