关于Windows和Views
在iOS中,你使用windows和view在屏幕上呈现应用程序的内容。Windows 自身并没有任何可见的内容但为应用程序的views提供一个基本的容器。View 定义了你想要填充一些内容的窗口的一部分。例如,你的可能用views来显示图片,文本,图形,或者它们的混合。你也能使用views来组织和管理其他views。
概览
每个应用程序最少有一个windows和一个view来呈现它的内容。UIKit和其他系统frameworks 提供一些你可以用来呈现你内容的预定义views。这些viwes 从简单的buttons和text labels 到更为复杂的views, 例如tableviws, picker views, 和scroll views。某些时候当预定义的views不提供你所要的,你可以自己自定义views 以及管理绘图和事件处理。
Views 管理你的应用呈现的可视化内容
一个View是「UIView」类(或者它的一个子类)的一个实例并在你应用程序window中管理一个矩形区域。Views负责绘制内容,处理多点触控事件,并管理任何subviews的布局。绘图涉及使用图形技术例如CoreGraphics, OPENGL ES, 或者UKit 在一个View的矩形区域内绘制图形,图片,和文本。一个View 在它的矩形区域通过手势或者直接处理触摸事件来响应触摸事件。在View 层次中,父Views 负责定位和处理子view大小并且能够动态的这样做。动态地修改子view的能力让你的views根据条件进行调整,比如旋转和动画。
你可以把views 当做你用来构造你用户接口的构建块。而不是一个view来呈现你所有的内容,你通常使用几个views来建立一个视图层次。每个视图在层次中呈现你用户接口中一个特殊的部分并且通常是一个特定的优化的内容。例如,UIkit 使用这些特殊的views来呈现图片,文本和其他类型的内容。
相关章节:View and Window 架构,Views
windows 显示你Views的坐标系
window是「UIWindow」类的实例并且处理应用程序整个用户接口的呈现。windows 跟views一起工作(包括拥有它的view controllers)来管理与view 层次的交互和变化。大多数情况,你应用程序的window 并不改变。在你的window创建后,它保持不变并且只有显示的views改变。每个应用程序最少有一个window用来在设备的主屏幕上显示用用程序的接口。如果外部显示器接到设备上,应用程序也可以创建第二个window来在那个屏幕上呈现内容。
相关章节:Windows
动画为用户接口的改变提供用户一个可视化的反馈
动画提供一个关于你View层次改变的可视化反馈。系统为呈现模态的view和不同组的view的过渡提供标准的动画。然而,许多view的属性可以被直接用来动画。例如,通过动画你可以改变一个view的透明度,它在屏幕上的位置,它的大小,它的背景颜色,或者其他的属性。如果你直接用views的底层Core Animation层次对象,你也可以执行其他许多动画。
Interface Builder的角色
Interface Builder 是你可以图形化来构造和配置你应用程序window和view的一个应用程序。使用Interface Builder,你可以在一个「nib file」中装载和安置你的views, 它是一个存储你view和其他对象冻结版本的一个资源文件。当你在运行时加载一个nib file,在其内部的对象会被重新构建为你可通过编程方法进行操作的事实对象。
Interface Builder 极大地简化了你创建应用程序用户接口的工作。在iOS中由于支持Interface Builder和nib文件,只需要很小的努力就可以集成nib file到你的应用程序中。
更详细的信息关于怎样使用Interface Builder ,参考Interface Builder User Guide. 更多关于view controllers 怎样管理包含它们的views的nib文件,参考View Controller Programming Guide for iOS 中的 Create Custom Content View Controller
相关文档
由于views 是非常复杂和灵活的对象,不可能在一个文档中描述它所有的行为。然后,有其他文档可以完整的帮你学习关于管理views和你用户接口的其他一些方面的知识。
- View controller 是管理你应用程序views的一个重要的部分。一个view controller集合了所有的view到视图层次中并将那些view呈现到屏幕上。更多关于view controllers和它所扮演的角色,参照View Controller Programming Guide for iOS
- Views 在你应用程序中是手势和触摸事件的接受者。更多关于使用手势和直接处理触摸事件,参照Event Handling Guide for iOS.
- 自定义的views 必须使用可用的绘图技术来渲染它们的内容。更多关于在你的views 中使用绘图的技术,参照Drawing and Printing Guide for iOS.
- 在某些时候标准的view动画不够充分的,你可用使用Core Animation.更多关于使用Core Animatios 实现动画,参考Core Animation Programming Guide.