序:本文翻译自苹果官方文档,自己想系统的了解每个控件的官方解释。只翻译了部分,详情见官方文档。
UIView
UIView类定义了一个矩形区域在屏幕上和管理内容的接口。
Overview
在运行时,一个视图对象处理任何内容的呈现它的面积,还处理任何与内容交互。UIView类本身提供了基本行为与背景颜色填充的矩形区域。更复杂的内容可以被子类化UIView提出和实施必要的图纸和事件处理代码。UIKit框架还包含一组标准的子类,范围从简单的按钮到复杂的表,可以按原样使用。例如,UILabel对象画了一个文本字符串和UIImageView对象绘制图像。
因为视图对象是主要的应用程序与用户交互的方式,他们有许多责任。这里有几个:
- 绘图和动画
- 视图画内容在矩形区域使用UIKit等技术,核心图形和OpenGL ES。
- 一些可以动画视图声明的属性的新值。
- 布局和子视图管理
- 一个视图可以包含零个或更多的子视图。
- 每个视图定义了自己的默认的调整行为与它的父视图。
- 一个视图可以定义子视图的大小和位置。
- 事件处理
- 一个视图是一个应答器,可以处理触摸事件和其他事件UIResponder定义的类。
- 视图可以使用addGestureRecognizer(_)方法安装手势识别器来处理常见的手势。
视图可以嵌入其他视图,创建复杂的视觉层次。这将创建一个视图之间的亲子关系被嵌入(称为子视图)和嵌入的父视图(称为父视图)。通常情况下,子视图的可见区域的范围不剪它的父视图,但在iOS可以使用clipsToBounds属性来改变行为。父视图可以包含任意数量的子视图但每个子视图只有一个父视图,负责适当定位它的子视图。
一个视图的几何定义框架,边界和中心属性。框架定义了视图的起源和维度的坐标系统中常用它的父视图和布局调整视图的大小或位置。中心属性可以用来调整视图的位置不改变它的大小。边界定义视图,把他们的内部维度和几乎完全用于自定义代码。的尺寸部分框架和边界矩形耦合在一起,因此改变大小的矩形更新的大小。如何使用UIView类的详细信息,看到视图iOS编程指南。
The View Drawing Cycle
视图绘制需要的基础上发生。视图是第一次显示时,或者当全部或部分变得可见由于布局变化,系统询问该视图画它的内容。视图包含使用UIKit定制内容或核心图形、系统调用视图的draw(_:)方法。该方法的实现负责绘制视图的内容到当前图形上下文,这是系统设置的自动调用该方法之前。这将创建一个静态视图的可视化表示的内容可以显示在屏幕上。当视图的实际内容发生变化时,你有责任通知系统视图需要重绘。这可以通过调用视图的setNeedsDisplay()或setNeedsDisplay(_:)方法。这些方法让系统知道它应该更新视图在下一次draw的时候。因为它将等待下一个绘图周期更新视图中,您可以调用这些方法在多个视图同一时间更新他们。
Animations
几个视图属性可以更改该对象animated,改变属性创建一个动画,这种改变在很短的时间内传达给用户。UIView类做的大部分工作执行实际的动画,但你还必须表明哪个属性改变你想要动画。有两种不同的方式启动动画:
Threading Considerations
操作应用程序的用户界面必须在主线程上发生。因此,你应该叫UIView类的方法从代码中运行您的应用程序的主线程。这可能不是严格必需是唯一一次在创建视图对象本身,而是所有其他操作应该发生在主线程。
Relationships
Inherits From
UIResponder
Conforms To-
CALayerDelegate
-
CVarArg
-
Equatable
-
Hashable
-
NSCoding
-
UIAccessibilityIdentification
-
UIAppearance
-
UIAppearanceContainer
-
UICoordinateSpace
-
UIDynamicItem
-
UIFocusItem
-
UITraitEnvironment
-