关于窗口和视图(转)

在ios中,是用windows和views来将应用程序的内容展示在屏幕上的。windows本身没有可视的内容但是给应用程序的views提供了一个基本容器。views定义了windows中用来填充内容的一部分。例如,你可能会想用views来显示图片,文本,形状或者一些它们的组合。你也可以用views来组织和管理其他views。

每个应用程序都至少有一个window和一个view来展示内容。UIKit和其他系统框架定义了用于展示内容的views。这些包括了从简单的按钮和文本标签到表格视图,选取器视图和滚动视图。当这些视图不能满足你的需要时,你也可以定义自己的views,同时自己管理views的绘画和事件处理。

预览


视图管理着你的应用的可视内容

一个view是一个UIView类(或者它的子类)的实例,它管理着应用的窗口中的一块矩形区域。views负责绘画内容,处理多点触控事件和管理子视图的布局。绘画使用一些图形技术,例如Core Graphics,OpenGL ES或者UIKit,来绘制视图里的各种形状图像和文本。一个view通过手势识别或者直接处理触屏事件来响应在本身发生的触屏事件。在视图层次中,父视图负责控制子视图的定位和大小,该过程也可以动态的进行(运行时处理)。这样允许你的视图来适应界面翻转和动画等改变条件。


窗口决定视图显示的坐标

一个window是一个UIWindow类的实例,同时处理着应用程序的用户界面的整体展示。窗口与视图及其视图控制器协作着管理与整个视图层次的交互。大部分时间,应用的窗口不会改变。一旦被创建,窗口会保留原样,只有其显示的视图会改变。每个应用都至少有一个窗口用于将应用的用户界面显示在设备的主屏幕上。如果链接着外部设备,应用可能会创建第二个窗口将内容展示在屏幕上。

动画提供了界面变更的可视反馈给用户

动画提供了视图层次变更的可视反馈给用户。系统定义了标准的动画来展示不同组别的视图之间的过渡。然而,视图中有很多属性可以直接用作动画处理。例如,你可以改变视图的透明度,屏幕上的位置,大小,背景颜色或者其他属性。如果你直接使用视图的底层框架Core Animation的对象,你可以制作更多的动画。

Interface Builder扮演的角色

Interface Builder是一个可以图形化地构建和配置应用程序窗口和视图的程序。使用Interface Builder,你可以组装你的视图,把它们放置在一个nib 文件中,它是一个存储了视图和其他对象的静态版本的资源文件。当你在运行时加载一个nib文件时,里边的对象被重新构造成代码可以控制的对象。

Interface Builder极大的简化了构造用户界面的工作。ios也支持Interface Builder和nib文件,所以它只需要一点点工作就可以将nib文件合并到应用程序的设计中

posted @ 2011-04-21 06:35  i'm zjz  阅读(423)  评论(0编辑  收藏  举报