View编程参考
在iOS中,使用window和view来在屏幕上表示应用的内容。window没有自身没有可视化的内容,但是为应用的view提供基本的容器。view定义一部分window来放置你要填充的内容。例如,可能用view来显示图片、文字、形状或者其他混合内容,也可以使用view来管理其他的view。
概述
每个应用至少有一个window和一个view来显示内容。UIKit和其他系统框架提供预定义的view来显示内容。这些view包括简单的按钮、文本标签到复杂的表格、选择表、滚动页面等。在预定义view无法满足需求的地方,也可以自定义视图来管理绘制和事件处理。
view管理可视化内容
view是 UIView 的实例(或者其subview)管理应用window的一个矩形区域。view负责绘制内容、处理触控事件并管理着subview的布局。使用Core Graphics、OpenGL ES或者UIKit等图像技术在view的矩形区域内绘制形状、图片、文字。view通过手势识别或者其他触控事件来在矩形区域內响应触控事件。在视图结构中,父视图负责定位和和调整子视图的大小,并且可以自动完成。动态改变子视图的能力可以使你的视图适应不断变化的情况,例如界面的旋转和动画。
可以认为视图是构建界面的模块。相对于使用一个视图来显示所有的内容,更为通常的是使用多个视图来构建一个视图层次结构。结构中的每个视图代表用户界面的一部分,并且针对于特殊类型的内容做过优化。例如,UIKit有特定的视图来显示图片、文字和其他类型的内容。
window协调视图的显示
window是 UIWindow 的实例,管理所有应用界面的显示。window和view一起工作(他们有view controller)来管理和改变可见的视图层级结构。大多数时候,应用的window从来不发生改变。window创建之后,保持不变,只有他显示的视图发生改变。每个应用至少有一个window在设备的主屏上显示应用的用户界面。如果外接屏幕连接上了,应用可以创建一个window来显示内容。
动画为用户提供界面改变的可视化反馈
动画为用户提供了有关视图层次结构更改的可见反馈。系统定义了标准动画,用于呈现模态视图以及在不同视图组之间进行转换。但是,视图的许多属性也可以直接设置动画。例如,通过动画,您可以更改视图的透明度,其在屏幕上的位置,其大小,其背景颜色或其他属性。而且,如果您直接使用视图的基础Core Animation图层对象,则还可以执行许多其他动画。
Interface Builder的作用
Interface Builder是一个应用程序,可用于以图形方式构造和配置应用程序的窗口和视图。使用Interface Builder,您可以组装视图并将其放置在nib文件中,该文件是存储视图和其他对象的冻干版本的资源文件。当您在运行时加载nib文件时,其中的对象将重构为实际对象,然后您的代码可以以编程方式对其进行操作。
Interface Builder大大简化了创建应用程序的用户界面时需要做的工作。由于整个iOS都集成了对Interface Builder和nib文件的支持,因此只需很少的努力即可将nib文件整合到应用程序的设计中。
Last updated
Was this helpful?