6 导航

原文链接: https://developer.apple.com/documentation/swiftui/navigation

6 导航

让人们可以在场景中应用视图层级的不同部分之间移动。

概述

用导航容器为应用界面提供结构,让人们能轻松在应用的各个部分之间切换。

例如,人们可以用 NavigationStack 在一个视图栈中前进和后退,或者用 TabView 从标签栏中选择要显示哪个视图。

通过给容器添加 navigationSplitViewStyle(_:) 这样的视图修饰符来配置导航容器。对容器内部的视图使用其他修饰符,可以影响容器在显示该视图时的行为。例如,你可以在某个视图上使用 navigationTitle(_:),为显示该视图时的工具栏提供标题。

基础

  • 理解导航栈 —— 了解导航栈、导航链接,以及如何在应用结构中管理导航类型。

在多栏中呈现视图

在单栏中堆叠视图

管理栏的折叠

为导航内容设置标题

配置导航栏

配置侧边栏

在标签页中呈现视图

  • 用标签页导航增强应用内容 —— 用标签栏提供快捷导航的同时,让应用内容始终处于醒目位置。
  • TabView —— 使用可交互的界面元素在多个子视图之间切换的视图。
  • Tab —— 标签页的内容,以及它在标签页视图中关联的标签项。
  • TabRole —— 定义标签页用途的值。
  • TabSection —— 可用于在标签页视图中添加层级的容器。
  • tabViewStyle(_:) —— 设置当前环境中标签页视图的样式。

配置标签栏

配置标签页

  • sectionActions(content:) —— 为某个分区添加自定义操作。
  • TabPlacement —— 标签页可以出现的位置。
  • TabContentBuilder —— 为支持编程式选择的标签页视图构造标签页的结果构建器。该构建器要求标签页视图中的所有标签页具有相同的选择类型。
  • TabContent —— 为标签页视图中可编程选择的标签页提供内容的类型。
  • AnyTabContent —— 类型擦除的标签页内容。

启用标签页自定义

在多窗格中显示视图

  • HSplitView —— 把子视图排成水平一行的布局容器,允许用户通过放在它们之间的分隔条调整大小。
  • VSplitView —— 把子视图排成垂直一列的布局容器,允许用户通过放在它们之间的分隔条调整大小。

已弃用的类型

  • NavigationView —— 用于呈现视图栈、表示导航层级中可见路径的视图。
  • tabItem(_:) —— 设置与该视图关联的标签栏项。