5 表格
2 分钟阅读
原文链接: https://developer.apple.com/documentation/swiftui/tables
5 表格
显示按行和列排列的、可选择且可排序的数据。
概述
使用表格可以在一组元素上显示多个值。集合中的每个元素分别显示在表格的不同行中,而某个元素的每个值则分别显示在不同的列中。窄屏设备可能会调整为只显示表格的第一列。

创建表格时,你提供一个元素集合,然后告诉表格如何为每一列找到所需的值。在简单情况下,SwiftUI 会自动推断每一行的元素,但在更复杂的场景中,你也可以显式指定各行元素。只需少量额外配置,你还可以让表格中的项目可被选中,并让各列可排序。
与 List 类似,表格包含可由 滚动视图 中描述的视图修饰符来配置的隐式垂直滚动。关于设计指导,请参阅 Human Interface Guidelines 中的 列表与表格。
创建表格
- 用 SwiftUI 构建出色的 Mac 应用 — 通过融入边栏、表格、工具栏以及其他几种常见的用户界面元素,构建引人入胜的 SwiftUI Mac 应用。
- Table — 一种以一列或多列形式呈现数据行的容器,可选择支持选中一个或多个成员。
- tableStyle(_:) — 设置该视图内表格的样式。
创建列
- TableColumn — 为表格中的每一行显示一个视图的一列。
- TableColumnContent — 用于表示表格中各列的类型。
- TableColumnAlignment — 描述表格列内容的对齐方式。
- TableColumnBuilder — 一种结果构建器,根据闭包创建表格列内容。
- TableColumnForEach — 一种根据底层可标识数据集合按需计算各列的结构。
自定义列
- tableColumnHeaders(_:) — 控制
Table列页眉视图的可见性。 - TableColumnCustomization — 表格中各列状态的一种表示。
- TableColumnCustomizationBehavior — 表格可以向用户提供的某列的一组自定义行为。
创建行
- TableRow — 表示表格中某个数据值的一行。
- TableRowContent — 用于表示表格各行的类型。
- TableHeaderRowContent — 显示单个视图而不是分列内容的表格行。
- TupleTableRowContent — 一种表格列内容类型,可根据由表格行组成的 Swift 元组创建表格行。
- TableForEachContent — 一种表格行内容类型,可通过遍历集合创建表格行。
- EmptyTableRowContent — 不产生任何行的表格行内容。
- DynamicTableRowContent — 一种表格行内容类型,可根据底层数据集合生成表格行。
- TableRowBuilder — 一种结果构建器,根据闭包创建表格行内容。
添加逐级展开
- DisclosureTableRow — 一种根据展开控件状态显示或隐藏额外行的表格行。
- TableOutlineGroupContent — 由表格的层级式初始化器创建的一种不透明表格行类型。