iOS app解剖
几乎所有的iOS app 都至少使用一些由UIKit框架定义的UI组件。在你设计你的app的UI的时候,知道这些基本组件的名字,角色,功能可以帮助你做出充分合理的决定。
UIKit提供的UI元素分为四大类:
·条形。条形包括告诉用户所在位置(定位)的环境信息,和帮助用户导航或者做出行动的控件。
·内容视图。内容视图包含app具体的内容,并且允许滑动,插入,删除和对元素重新排列管理这些行为。
·控件。控件表现行为或者展示信息。
·临时视图。临时视图可以简要地显示,给用户提供重要的信息和功能或者额外的选择。
除了定义UI元素,UIKit也定义了能够实现功能的对象,例如手势识别,画图,授权访问以及支持打印。
从编程的角度来说,一种UI元素其实是视图的一种,因为它继承于UIView。一个视图知道如何把它自己描绘到屏幕上,并且当用户在它的界限内点击的时候它能够知道。控件(比如按钮和滑动条),内容视图(比如集合视图和表视图),还有临时视图(比如警告窗口和action sheets(不知道翻译为什么比较合适))都是view类型。
为了管理你app中的一些列视图或者视图体系,你尤其需要使用一个视图控制器。试图控制器能够通过坐标来展现不同的视图,实现用户交互背后的功能,还能够管理从一个屏幕到另一个屏幕的过渡。举个例子,设置使用一个导航控制器来表现视图的体系。
这有一个视图和视图控制器如何结合来呈现一个iOS app中的UI的例子。(图片不贴了)
尽管开发者从视图和视图控制器的角度思考,用户却倾向于把iOS app作为一系列屏幕的集合来体验。从这个观点看,一个屏幕大致和app中一个独特的可视状态或者模式相一致。
注意:一个iOSapp包括一个窗口---但是不像是电脑应用中的窗口---一个iOS窗口没有可视化的部分并且它不能被移动到屏幕上的另一个位置。大部分的iOS app只含有一个窗口,个别支持外置屏幕的app可能有超过一个窗口。
在 iOS人机交互指导原则中,screen这个词的意思正如大多数用户所理解的那样。作为一名开发者,你可能也在其它环境中读到了这个词。在那些环境中设计到了UIScreen这个对象,你可以使用这个对象来访问一个外置屏幕。