表格将数据作为滚动单列的列表显示,可划分为多单元或组。使用表格是以列表的形式、干净高效地显示大量或少量的信息。一般来说,表格非常适合文本内容,并且通常作为导航方式显示在拆分视图的一侧,同时相关内容显示在另一侧。有关指导,请参阅拆分视图

iOS 提供了三种表格样式:普通表格、分组表格和内嵌表格。

扁平表格。行可以被分隔成标记的部分,可选索引可以沿表格的右边缘垂直显示。标题可以显示在一组的第一个项目之前,页脚可以显示在最后一个项目之后。

截屏2019-10-2500.07.53.png

分组表格。行将成组显示,组前面可以有一个标题,后跟一个页脚。此样式的表格至少包含一个组,每个组至少包含一行。分组的表格不包括索引。

截屏2019-10-2500.07.59.png

内嵌分组表格。行将成组显示,组带有圆角,且是内嵌在父视图的边缘(如上图右侧所示)。这种样式的表格至少包含一个组,每个组至少包含一行,前面可以有一个标题,后跟一个页脚。内嵌分组表格不包括索引。内分分组样式在常规宽度环境中效果最佳。由于在紧凑环境中空间较少,因此内嵌分组表格可能会导致文本换行,尤其是在内容本地化时。

截屏2019-10-2500.08.07.png

考虑表格宽度。细表格可能会导致内容截断和换行,使其难以在远处快速阅读和浏览。宽表格可能也很难阅读和浏,并且会占用内容的空间。

一开始就快速的显示表格内容。在显示内容之前,不等待加载大量表格内容,立刻用文本数据填充屏幕,一旦复杂数据可用就显示,如图像。此技术可立刻为人们提供有用的信息,并提高对应用的感知响应能力。在某些情况下,在新数据到达之前,显示陈旧的旧数据也有一定的意义。

在内容加载时,传达进度。如果加载表格的数据需要时间,请显示进度条或旋转活动指示器,以让用户放心你的应用仍在运行。

保持内容新鲜。请考虑定期更新表格的内容,以反映较新的数据。不要更改滚动位置,而是将内容添加到表格的开头或结尾,并在准备就绪时,让人们滚动到它。在添加新数据时,某些应用会显示指示器,并提供直接跳转到该指标的控件。最好包含刷新控件,以便人们可以随时手动执行更新。请参阅刷新内容控件

避免将索引与包含右对齐元素的表格行组合使用。使用大幅度轻扫手势来控制索引。如果其他交互元素位于附近,如展开指示器,则当出现手势且可能激活错误元素时,可能很难识别用户的意图。

有关开发人员指南,请参阅 UITableView

表格行

你可以使用标准表格单元格样式来定义内容在表格行中的显示方式。

截屏2019-10-2500.08.15.png

基本(默认)。行左侧为可选图像,后跟左对齐的标题。这是显示无补充信息的项目的好选择。有关开发人员指南,请参阅 UITableViewCellUITableViewCellStyleDefault 常量。

截屏2019-10-2500.08.19.png

副标题。一行左对齐的标题,下侧一行为左对齐的副标题。当表格行在视觉上相似时,此效果比较好。附加副标题有助于表格行之间彼此区分。有关开发人员指南,请参阅 UITableViewCellUITableViewCellStyleSubtitle 常数。

截屏2019-10-2500.08.26.png

右侧详细信息(值 1)。左对齐标题与右对齐副标题处于同一行。有关开发人员指南,请参阅 UITableViewCellUITableViewCellStyleValue1 常量。

截屏2019-10-2500.08.30.png

左侧详细信息(值 2)。右对齐的标题后跟右对齐的副标题,两者处于同一行。有关开发人员指南,请参阅 UITableViewCellUITableViewCellStyleValue2 常量。

所有标准表格单元格样式可以使用图形元素,如复选标记或展开指示器。当然,添加这些元素会减少标题和副标题的空间。

保持文本简洁以避免截断。截断的单词和短语很难浏览和理解。在所有表格单元格样式中,文本截断都是自动的,但产生问题的多少,则取决于使用的单元格样式和截断发生的位置。

请考虑为「删除」按钮使用自定义标题。如果表格行支持删除,请将系统提供的删除标题替换为自定义标题,这样有助于提供清晰的表述。

做出选择时提供反馈。当人们点击一行内容时,它期望这行会短暂地高亮显示。然后,人们期望出现一个新视图或内容改变,如出现复选标记,指示已进行了选择。

为非标准表格行设计自定义表格单元格样式。标准样式非常适用于各种常见情况,但某些内容或总体应用设计可能需要突出的自定义表格外观。要了解如何创建自己的单元格,请参阅 iOS 的表格视图编程指南 中的 自定义单元格

有关开发人员指南,请参阅 UITableViewCell