前端开发
设计 Apple 应用布局与导航时如何选择并适配导航组件
当需要为 Apple 平台应用选择导航模式、组织内容层级并适配不同屏幕尺寸与多任务时使用。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 49/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 85/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 60/100 ×0.15
适用场景
设计 Apple 应用布局与导航时如何选通用
解决思路
- 按层级组织信息:从宽泛分类到具体细节,顶层分区用侧边栏,可浏览项用列表,单个内容用详情视图。
- 使用标准导航模式:iPhone 上用标签栏做同级分区的扁平导航,iPad/Mac 上用侧边栏做深层级导航,让模式匹配信息架构与平台。
- 适配屏幕尺寸:iPad 上的三栏布局在 iPhone 上折叠为单栏,使用 size classes 和自适应 API(如 NavigationSplitView)实现自动适配。
- 在 iPad 上支持多任务:优雅响应 Split View、Slide Over 和 Stage Manager,在每种分屏比例和 size class 过渡下测试。
- 在 visionOS 上保持空间一致性:窗口、volumes 和 ornaments 位于共享空间,位置可预测,用 ornaments 承载工具栏和控件而不遮挡内容。
- 用滚动视图承载溢出内容:对离散内容单元启用分页,在合适处支持下拉刷新,并尊重安全区域。
- 保持导航可预测:用户应始终知道自己在哪、如何到达、如何返回,使用返回按钮、面包屑和清晰的区块标题。
- 优先使用系统组件:UINavigationController、UISplitViewController、NavigationSplitView 和 TabView 自带自适应、无障碍和状态恢复能力。
- 按应用结构选择导航模式:3-5 个同级顶层分区用标签栏(iPhone 底部标签栏,iPad 用 .sidebarAdaptable(iPadOS 18+),Mac 用侧边栏或工具栏标签);深层级内容用侧边栏 + NavigationSplitView;深层文件/文件夹树用列视图;扁平列表带详情用两栏分栏视图;基于文档且带检查器用窗口 + 面板;空间应用带工具用窗口 + ornaments。
- 按布局适配清单逐项检查:紧凑宽度(iPhone 竖屏)下导航是否折叠为单栈、标签栏是否可见;常规宽度(iPad 横屏、Mac)下导航是否展开为侧边栏 + 详情、空间是否利用充分;iPad 多任务下是否适配每种分屏比例、是否支持 Slide Over;无障碍方面是否支持所有尺寸的 Dynamic Type、VoiceOver 顺序是否合理;方向变化时内容是否在竖屏与横屏间重排;visionOS 上窗口位置是否符合人体工学、ornaments 是否可访问、深度是否有意义。
- 按输出格式给出方案:先给出推荐导航模式及针对信息架构的理由,再给出从根容器向下的布局层级(如 TabView > NavigationSplitView > List > Detail),然后给出目标平台和 size classes 的适配方式,最后给出每个过渡点的 size class 行为。
- 提问前先检查 .claude/apple-design-context.md,复用已有上下文,只询问尚未覆盖的信息。
- 需要澄清时询问:应用的信息架构是什么(分区、层级深度、顶层分类)?有多少个顶层分区?目标平台有哪些?iPad 上是否需要多任务?使用 SwiftUI 还是 UIKit?
适用边界 · 注意事项
- 非 Apple 平台或非 Apple 设计体系的应用不适用。
- 不涉及布局与导航组件(如仅涉及颜色、字体、图标等基础规范)时不适用。
- 需要平台特定导航约定或多任务/全屏模式细节时,应改用 hig-platforms 或 hig-patterns 技能。