视图和视图控制器

17 Mar 2025 | 阅读 2 分钟

在 iOS 开发中,视图控制器是应用程序内部结构的基础。视图控制器是故事板上所有视图的父级。每个应用程序至少有一个视图控制器。它有助于用户界面各个部分之间的转换。

UIViewController 是所有视图控制器的父类。它定义了管理视图的所有方法和属性。此类还管理事件和从一个视图控制器到另一个视图控制器的转换。它还在应用程序的不同部分之间进行协调。

视图控制器的类型

有两种类型的视图控制器

  1. 内容视图控制器: 内容视图控制器是我们创建的主要类型的视图控制器。内容视图控制器保存应用程序屏幕的内容。换句话说,我们可以说内容视图控制器管理应用程序内容的离散片段。内容视图控制器管理所有视图本身。
  2. 容器视图控制器: 容器视图控制器与内容视图控制器不同,因为它充当父视图控制器,从子视图控制器收集信息。容器视图控制器的任务是呈现收集的信息,以便于导航到子视图控制器。容器视图控制器仅管理 RootView,RootView 包含一个或多个子视图控制器。
Views and View Controllers

大多数 iOS 应用程序都是内容视图控制器和容器视图控制器的混合。

视图管理

在 iOS 开发中,视图控制器管理视图的层次结构。如下图所示,每个视图控制器都包含一个 RootView,其中包含视图控制器的所有内容。维护 iOS 应用程序所需的所有自定义视图都添加到根视图以显示内容。下图显示了视图控制器、RootView 及其子视图之间的关系。每个子视图都由一个超级视图引用,该超级视图包含一个视图链,其中 RootView 充当视图控制器中存在的所有视图的父视图。

Views and View Controllers

数据编组

在 iOS 开发中,视图控制器负责在屏幕上显示 iOS 应用程序的数据。它充当其视图(由开发人员创建)和应用程序数据之间的接口。故事板中的每个视图控制器都分配有一个继承 UIViewController 类的类。

UIViewController 中定义的所有属性和方法都存在于我们分配给视图控制器的类中。但是,为了开发我们的应用程序,我们需要在视图控制器类中定义我们的属性和方法。它有助于我们管理应用程序的可视化表示。

Views and View Controllers