进度指示符告知用户 App 在载入内容或执行长时间操作时未卡死。

部分进度指示符还可让用户预计需要等待任务完成的时长。所有进度指示符都是瞬态的,仅在操作进行时显示,并在操作完成后消失。
操作的时长要么已知,要么未知,因此进度指示符有两种类型:
- 确定型,适用于时长明确的任务,例如文件转换
- 不确定型,适用于无法量化的任务,例如载入或同步复杂数据
确定型和不确定型进度指示符的外观不同,具体取决于平台。确定型进度指示符会随着任务的完成填充线性或圆形轨道来显示任务进度。进度条包括从前沿向后沿填充的轨道。圆形进度指示符具有沿顺时针方向填充的轨道。

不确定型进度指示符(也称为活动指示符)使用表示进度的动态图像。所有平台都支持看起来旋转的圆形图像;但是,macOS 还支持不确定型进度条。

1. 最佳实践
尽量使用确定型进度指示符。不确定型进度指示符显示进程正在运行,但对用户预计任务需要多长时间没有帮助。确定型进度指示符有助于用户决定是在等待任务完成的同时执行其他操作、在其他时间重新开始该任务还是放弃任务。
报告确定型进度指示符的进度时,做到尽量精确。考虑将进度速度均等化,这样有助于用户相信任务完成所需要的时间。显示 5 秒钟完成 90%,而需要 5 分钟完成剩下的 10%,这会让用户质疑你的 App 是否仍在运行,甚至会感到受骗。
保持进度指示符不断移动,以便用户知道操作仍在继续。如果指示符静止不动,用户倾向于认为进程已经卡死或者 App 停止响应。如果进程由于某些原因卡死,请提供反馈以帮助用户理解问题所在以及应该执行什么操作。








