表格视图控制器17 Mar 2025 | 5 分钟阅读 在本教程的前几部分中,我们讨论了表格视图,它用于在 iOS 应用程序中以表格形式显示垂直可滚动列表。 我们还创建了应用程序,在其中我们向 UIViewController 类添加了表格视图,并使用了自定义原型单元格。 但是,到目前为止,在本教程中,我们还没有使用表格视图控制器来管理表格视图。 在本教程的这一部分中,我们将使用表格视图控制器来处理表格视图。 我们还将使用原型单元格和静态单元格创建示例项目。 表格视图控制器可以定义为专门用于管理表格视图的视图控制器。 表格视图控制器负责维护表格及其数据和事件。 为此,它使用其表格视图属性的委托和数据源。 表格视图控制器是继承 UIViewController 的 UITableViewController 类的实例。 当我们需要仅使用我们的视图控制器显示表格视图并且没有其他内容时,我们继承 UITableViewController 类,因为我们只能在界面构建器中将表格视图添加到表格视图控制器。 表格视图控制器会自动提供 tableView 属性,并且它已经采用了协议 UITableViewDelegate 和 UITableViewDataSource。 除了表格视图之外,UITableViewController 还提供以下好处。
将表格视图控制器添加到界面要将表格视图控制器添加到界面构建器,请考虑以下说明。
![]() 在上图中,我们获得了 XCode 生成的项目文件,用于运行一个视图的 iOS 应用程序。 它还生成一个 ViewController.swift 文件,该文件分配给故事板中的单个视图控制器。 删除此文件并创建一个新的 UITableViewController 子类,如下图所示。 ![]()
![]() 它将在故事板中添加表格视图控制器。 ![]() 如果运行上述项目,它将给出以下输出,即空表格视图。 ![]() 表格视图控制器的组件下图显示了表格视图控制器中的各种可见组件。 ![]()
示例 1:创建简单的表格视图控制器 在此示例中,我们将创建一个简单的表格视图控制器,在其中我们将以表格形式显示数据网格。 项目结构自定义表格视图控制器子类继承 UITableViewController 类,并符合 UITableViewDelegate 和 UITableViewDataSource 协议,这使得自定义子类覆盖 UITableViewDelegate 和 UITableViewDataSource 协议的所有方法。 包含 TableViewController 的项目的结构如下图所示。 ![]() 界面生成器在 Main.storyboard 中,删除现有的 UIViewController,搜索 UITableViewController,然后将结果拖到故事板中。 这将创建一个带有原型单元格的表格视图控制器,如下图所示。 ![]() 由于表格视图控制器包含一个原型单元格,我们需要使用内容视图开发此原型单元格。 在此示例中,我们正在开发一个具有标题、副标题和详细信息的原型单元格。 为此,我们将将 UILabel 拖到 TableViewCell,如下图所示。 ![]() 在这里,我们还需要一个 UITableViewCell 子类来包含这些 UILabels 的 outlet 连接。 MyTableViewCell.swift MyTableViewController.swift 输出 ![]() 表格视图控制器静态单元格与表格视图不同,我们还可以在表格视图控制器中嵌入静态单元格。 要添加静态单元格,我们需要在界面构建器的属性检查器中更改单元格类型,如下图所示。 ![]() 默认情况下,它被选中为动态原型。 但是,我们可以将其设为静态单元格,如下图所示。 如果将其更改为静态单元格,表格视图控制器将更改其内容,以具有一个包含三个静态单元格的静态部分,如下图所示。 ![]() 我们可以增加表格视图中的部分数量,也可以增加每个部分包含的行数。 如果我们增加表格视图中的部分数量,则我们的表格视图控制器将如下所示。 ![]() |
我们请求您订阅我们的新闻通讯以获取最新更新。