Explore navigation design for iOS
Design 进阶 20m

探索 iOS 导航设计

Explore navigation design for iOS

2022年6月6日

在 Apple 官方观看视频

一句话判断

如果你觉得自己的 App 导航体验还能更好,这场 Session 提供了一套从 Tab Bar 到层级导航再到模态弹窗的完整设计审视框架。

这场 Session 讲了什么

这是面向 iOS 开发者和设计师的导航设计指南。演讲者 Sarah McClanahan 从 Tab Bar 的信息架构讲起,逐步扩展到层级导航(Hierarchical Navigation)和模态展示(Modal Presentation)两大交互模式。核心观点是:好的导航设计应该让人意识不到导航的存在——用户把注意力放在内容和体验上,而不是”怎么找到东西”。

Tab Bar 部分用一个骑行路线 App 的案例,完整演示了如何从功能堆砌的混乱状态,通过重新审视信息层级,一步步推导出清晰的 Tab 结构。演讲者特别强调了几个常见反模式:把所有功能塞进第一个 Tab、用”Home”作为万能入口、在不同 Tab 间重复放置相同功能。这些做法表面上是提高功能曝光率,实际上让用户更困惑。

层级导航部分讨论了如何帮助用户建立空间感知,理解”我在哪里、我从哪里来、我能去哪里”。模态展示则聚焦于什么时候该用模态、什么时候不该用,以及如何设计合理的Dismiss交互。

值得深挖的点

  • Tab Bar 的平衡原则:第一个 Tab 功能过载是最常见的导航设计错误。应该根据用户使用场景而非功能重要性来分配 Tab。演讲者建议问自己一个根本问题:“用户为什么用你的 App?“——答案决定了 Tab 的组织方式。
  • “Home” Tab 的陷阱:很多内容型 App 喜欢用 Home Tab 做功能大杂烩,这在信息架构上是有害的。每个 Tab 应该自成一个完整的内容领域,有自己的生命周期和使用场景。
  • 层级导航的可预测性:用户需要能够预测操作的结果。如果点击某个元素的行为不可预测,导航体验就会崩塌。保持一致性比提供更多功能更重要。
  • 模态的使用时机:模态适合独立的、有明确起点和终点的任务。不适合需要上下文切换或多步浏览的场景。错误使用模态会让用户感到”被困住”。

代码片段

这场 Session 侧重设计原则,没有具体代码示例。但提到的关键 API 包括:

// Tab Bar 的最佳实践:每个 Tab 对应独立的内容领域
TabView {
    PlacesView()      // 地点浏览 - 内容核心
        .tabItem { Label("Places", systemImage: "map") }
    ItinerariesView() // 行程管理 - 独立工作流
        .tabItem { Label("Itineraries", systemImage: "list") }
    ProfileView()     // 个人设置
        .tabItem { Label("Profile", systemImage: "person") }
}

最佳实践

  • Tab 的数量控制在 3-5 个,每个 Tab 的标题和图标要能独立传达功能含义
  • 不要在多个 Tab 中重复放置同一功能入口——这会破坏用户对信息架构的理解
  • 层级导航中,提供清晰的返回路径和当前位置标识
  • 模态展示要有明显的关闭方式,且只在真正需要用户专注完成某项任务时使用
  • 设计导航时,先确定信息层级,再选择对应的 UI 控件——而不是反过来

还有什么值得关注

  • 如果你在做 iPad 或 Mac 适配,导航设计需要考虑 sidebar 替代 Tab Bar 的场景
  • 本场提到的设计原则同样适用于 watchOS 和 tvOS 的导航设计,只是 UI 表现形式不同
  • 搭配 “Meet UIKit button configurations” 和 “Adopt desktop class editing interactions” 一起看,可以构建更完整的交互设计知识体系
WWDC 2022