Skip to content

在 Sections 之间添加导航

现在,在主视图中可以看到所有不同分类的地标,用户需要一种方法来访问 app 中的每个部分。使用 navigationpresentation API 可以从主视图导航到详情视图,收藏列表和用户简介 。

第 1 步

CategoryRow.swift 中,把现有的 CategoryItem 包装在一个 NavigationButton 中。

分类项本身是按钮的 label,它的目标是卡片中显示地标的详情视图。

固定住预览,这样就可以看到下一步对 CategoryRow 的影响。

第 2 步

通过应用 renderingMode(_:)foregroundColor(_:) 修饰符改变分类项的导航外观。

我们给作为 navigation buttonlabel 传递的文字会使用环境的强调色渲染,并且图像可能会被当做 template image。我们可以修改任何一种行为来满足设计。

第 3 步

取消预览,打开 ContentView.swift,并添加一个 Tab 枚举。

第 4 步

添加一个 Tab 类型的 selection 变量,并设置一个默认值。

第 5 步

创建一个 TabView,包含 LandmarkListCategoryHome

每个视图上的 tag(_:) 修饰符都与 selection 的可取值之一相匹配,因此当用户在用户界面上进行选择时,TabView 可以协调显示哪个视图。

第 6 步

给每个 tabItem 设置 Label

第 7 步

开启实时预览并试试进行导航。

在 Sections 之间添加导航 has loaded