其他
在 Apple 平台设计加载、进度、状态栏或活动圆环 UI…
在 Apple 平台需要设计进度指示器、状态栏或健身活动圆环时,用此经验决定指示器类型、摆放、样式、可访问性与平台行为。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 38/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 55/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 57/100 ×0.15
适用场景
在 Apple 平台设计加载、进度、状态特定
解决思路
- 先检查 `.claude/apple-design-context.md`;若已有上下文就直接复用,只询问尚未覆盖的信息。
- 对超过一两秒的操作显示进度。
- 当持续时间或百分比已知时使用确定型进度(determinate);如下载、上传或任何可测量过程,用填充式进度条让用户知道剩余工作量。
- 当持续时间未知时使用不确定型进度(indeterminate);用 spinner 表示正在进行,但不承诺时间范围,适用于不可预测的网络请求。
- 优先使用进度条而不是 spinner;确定型进度感觉更快、更可信。
- 将指示器放在内容将出现的位置;使用内联进度,靠近内容区域,不要放在模态或远离内容的地方。
- 不要堆叠多个指示器;将同时进行的操作聚合为一个表示,或只显示最相关的操作。
- 没有充分理由不要隐藏状态栏;仅在全屏媒体、游戏、AR 等沉浸式体验中隐藏。
- 让状态栏样式与内容匹配;使用浅色或深色以获得足够对比度。
- 尊重安全区域;不要在状态栏后面放置交互内容。
- 退出沉浸式场景后及时恢复状态栏。
- 活动圆环用于 Move、Exercise、Stand 目标;不要把圆环隐喻复用于无关数据。
- 遵守圆环颜色约定;红色(Move)、绿色(Exercise)、蓝色(Stand)与 Apple Fitness 强关联。
- 使用 HealthKit API 获取活动数据,而不是手动追踪。
- 当圆环闭合时,用动画和触觉反馈庆祝完成。
- 查阅 `references/progress-indicators.md`:了解进度条和 spinner 的确定型/不确定型、内联摆放、持续时间。
- 查阅 `references/status-bars.md`:了解 iOS/iPadOS 状态栏的系统信息、可见性、样式、安全区域。
- 查阅 `references/activity-rings.md`:了解 watchOS 活动圆环的 Move/Exercise/Stand、HealthKit、健身追踪、颜色。
- 输出时给出指示器类型建议及理由(确定型 vs 不确定型)。
- 输出时给出时机与动画指导——时长阈值、动画风格、转场。
- 输出时给出可访问性指导——VoiceOver 进度播报、live region 更新。
- 输出时给出针对目标平台的平台特定行为。
- 询问用户:持续时间是已知还是未知?
- 询问用户:目标平台有哪些?
- 询问用户:操作通常需要多长时间?
- 询问用户:指示器是系统级还是应用内?
- 可交叉参考相关技能:用 hig-components-system 处理 widget 或复杂功能中的进度/状态;用 hig-inputs 处理触发进度状态的手势(如下拉刷新);用 hig-technologies 处理 HealthKit 活动圆环数据和 VoiceOver 进度播报。
适用边界 · 注意事项
- 非 Apple 平台或不遵循 Apple HIG 的 UI 设计/实现中不适用。
- 不涉及进度、加载、状态栏或活动圆环时不要套用。
- 没有 HealthKit/Fitness 活动数据,或不遵循 Apple Fitness 圆环语义与颜色约定时,不要使用活动圆环相关规则。