<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>6 导航 on 编程那些事儿</title><link>https://before80.github.io/prgms/Swift/SwiftUI/appstructure/6-Navigation/</link><description>Recent content in 6 导航 on 编程那些事儿</description><generator>Hugo</generator><language>zh-cn</language><lastBuildDate>Sun, 13 Sep 2026 18:20:56 +0800</lastBuildDate><atom:link href="https://before80.github.io/prgms/Swift/SwiftUI/appstructure/6-Navigation/index.xml" rel="self" type="application/rss+xml"/><item><title>6.1 理解导航栈</title><link>https://before80.github.io/prgms/Swift/SwiftUI/appstructure/6-Navigation/6.1-UnderstandingTheNavigationStack/</link><pubDate>Sat, 12 Sep 2026 12:47:47 +0800</pubDate><guid>https://before80.github.io/prgms/Swift/SwiftUI/appstructure/6-Navigation/6.1-UnderstandingTheNavigationStack/</guid><description>&lt;blockquote&gt;
&lt;p&gt;原文链接: &lt;a href="https://developer.apple.com/documentation/swiftui/understanding-the-navigation-stack"&gt;https://developer.apple.com/documentation/swiftui/understanding-the-navigation-stack&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id="61-理解导航栈"&gt;6.1 理解导航栈&lt;/h1&gt;
&lt;p&gt;了解导航栈、导航链接，以及如何在应用结构中管理导航类型。&lt;/p&gt;
&lt;h2 id="Overview"&gt;概述&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://developer.apple.com/documentation/swiftui/navigationstack"&gt;NavigationStack&lt;/a&gt; 是应用导航结构的容器。用导航栈可以在根视图之上呈现一叠视图。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;NavigationStack&lt;/code&gt; 通过其构造器的路径参数把状态暴露给应用。要创建一个可以控制、或可以跟踪栈上视图的带路径导航栈，请使用 &lt;a href="https://developer.apple.com/documentation/swiftui/navigationpath"&gt;NavigationPath&lt;/a&gt;，或者指向一个包含 &lt;a href="https://developer.apple.com/documentation/swift/hashable"&gt;Hashable&lt;/a&gt; 元素的 &lt;a href="https://developer.apple.com/documentation/swift/randomaccesscollection"&gt;RandomAccessCollection&lt;/a&gt; 与 &lt;a href="https://developer.apple.com/documentation/swift/rangereplaceablecollection"&gt;RangeReplaceableCollection&lt;/a&gt; 的 &lt;a href="https://developer.apple.com/documentation/swiftui/binding"&gt;Binding&lt;/a&gt;。&lt;/p&gt;</description></item><item><title>6.2 为 SwiftUI 应用引入健壮的导航结构</title><link>https://before80.github.io/prgms/Swift/SwiftUI/appstructure/6-Navigation/6.2-BringingRobustNavigationStructureToYourSwiftuiApp/</link><pubDate>Sat, 12 Sep 2026 12:47:47 +0800</pubDate><guid>https://before80.github.io/prgms/Swift/SwiftUI/appstructure/6-Navigation/6.2-BringingRobustNavigationStructureToYourSwiftuiApp/</guid><description>&lt;blockquote&gt;
&lt;p&gt;原文链接: &lt;a href="https://developer.apple.com/documentation/swiftui/bringing-robust-navigation-structure-to-your-swiftui-app"&gt;https://developer.apple.com/documentation/swiftui/bringing-robust-navigation-structure-to-your-swiftui-app&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id="62-为-swiftui-应用引入健壮的导航结构"&gt;6.2 为 SwiftUI 应用引入健壮的导航结构&lt;/h1&gt;
&lt;p&gt;使用导航链接、栈、目标和路径，为所有平台提供流畅的体验，并支持深度链接、状态恢复等行为。&lt;/p&gt;
&lt;h2 id="Overview"&gt;概述&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;注意：这个示例代码项目与 WWDC22 的 &lt;a href="https://developer.apple.com/wwdc22/10054/"&gt;10054：SwiftUI 导航实战手册&lt;/a&gt; 场次相关。&lt;/p&gt;</description></item><item><title>6.3 迁移到新的导航类型</title><link>https://before80.github.io/prgms/Swift/SwiftUI/appstructure/6-Navigation/6.3-MigratingToNewNavigationTypes/</link><pubDate>Sat, 12 Sep 2026 12:47:47 +0800</pubDate><guid>https://before80.github.io/prgms/Swift/SwiftUI/appstructure/6-Navigation/6.3-MigratingToNewNavigationTypes/</guid><description>&lt;blockquote&gt;
&lt;p&gt;原文链接: &lt;a href="https://developer.apple.com/documentation/swiftui/migrating-to-new-navigation-types"&gt;https://developer.apple.com/documentation/swiftui/migrating-to-new-navigation-types&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id="63-迁移到新的导航类型"&gt;6.3 迁移到新的导航类型&lt;/h1&gt;
&lt;p&gt;用导航栈和导航分栏视图替换导航视图，改善应用的导航行为。&lt;/p&gt;
&lt;h2 id="Overview"&gt;概述&lt;/h2&gt;
&lt;p&gt;如果你的应用最低部署目标是 iOS 16、iPadOS 16、macOS 13、tvOS 16、watchOS 9、visionOS 1 或更高版本，请停止使用 &lt;a href="https://developer.apple.com/documentation/swiftui/navigationview"&gt;NavigationView&lt;/a&gt;，改用 &lt;a href="https://developer.apple.com/documentation/swiftui/navigationstack"&gt;NavigationStack&lt;/a&gt; 和 &lt;a href="https://developer.apple.com/documentation/swiftui/navigationsplitview"&gt;NavigationSplitView&lt;/a&gt; 实例。具体怎么用，取决于你是在单栏中导航还是跨多栏导航。使用这些更新的容器，你可以更好地控制视图呈现、容器配置和编程式导航。&lt;/p&gt;</description></item><item><title>6.4 已弃用的符号</title><link>https://before80.github.io/prgms/Swift/SwiftUI/appstructure/6-Navigation/6.4-NavigationlinkDeprecated/</link><pubDate>Sat, 12 Sep 2026 12:47:47 +0800</pubDate><guid>https://before80.github.io/prgms/Swift/SwiftUI/appstructure/6-Navigation/6.4-NavigationlinkDeprecated/</guid><description>&lt;blockquote&gt;
&lt;p&gt;原文链接: &lt;a href="https://developer.apple.com/documentation/swiftui/navigationlink-deprecated"&gt;https://developer.apple.com/documentation/swiftui/navigationlink-deprecated&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id="64-已弃用的符号"&gt;6.4 已弃用的符号&lt;/h1&gt;
&lt;p&gt;查阅已弃用的导航链接构造器。&lt;/p&gt;
&lt;h2 id="Overview"&gt;概述&lt;/h2&gt;
&lt;p&gt;关于如何更新你对导航符号的使用，参见&lt;a href="../6.3-MigratingToNewNavigationTypes/"&gt;迁移到新的导航类型&lt;/a&gt;。&lt;/p&gt;
&lt;h2 id="Creating-links-with-content-builders"&gt;用内容构建器创建链接&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://developer.apple.com/documentation/swiftui/navigationlink/init(_:isactive:destination:)"&gt;init(_:isActive:destination:)&lt;/a&gt; —— 创建一个导航链接，在处于激活状态时呈现目标视图，其文本标签由链接根据本地化字符串键生成。&lt;/li&gt;
&lt;li&gt;&lt;a href="https://developer.apple.com/documentation/swiftui/navigationlink/init(isactive:destination:label:)"&gt;init(isActive:destination:label:)&lt;/a&gt; —— 创建一个导航链接，在处于激活状态时呈现目标视图。&lt;/li&gt;
&lt;li&gt;&lt;a href="https://developer.apple.com/documentation/swiftui/navigationlink/init(_:tag:selection:destination:)"&gt;init(_:tag:selection:destination:)&lt;/a&gt; —— 创建一个导航链接，当绑定的选择变量与你提供的值相匹配时呈现目标视图，其文本标签由链接根据标题字符串生成。&lt;/li&gt;
&lt;li&gt;&lt;a href="https://developer.apple.com/documentation/swiftui/navigationlink/init(tag:selection:destination:label:)"&gt;init(tag:selection:destination:label:)&lt;/a&gt; —— 创建一个导航链接，当绑定的选择变量等于给定的标签值时呈现目标视图。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="Creating-links-for-WatchKit"&gt;为 WatchKit 创建链接&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://developer.apple.com/documentation/swiftui/navigationlink/init(destinationname:isactive:label:)"&gt;init(destinationName:isActive:label:)&lt;/a&gt; —— 创建一个导航链接，在处于激活状态时呈现 WatchKit 故事板中的某个视图。&lt;/li&gt;
&lt;li&gt;&lt;a href="https://developer.apple.com/documentation/swiftui/navigationlink/init(destinationname:tag:selection:label:)"&gt;init(destinationName:tag:selection:label:)&lt;/a&gt; —— 创建一个导航链接，当绑定的选择变量与你提供的值相匹配时呈现 WatchKit 故事板中的某个视图。&lt;/li&gt;
&lt;li&gt;&lt;a href="https://developer.apple.com/documentation/swiftui/navigationlink/init(destinationname:label:)"&gt;init(destinationName:label:)&lt;/a&gt; —— 创建一个导航链接，呈现 WatchKit 故事板中的某个视图。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="Creating-links-with-view-arguments"&gt;用视图实参创建链接&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://developer.apple.com/documentation/swiftui/navigationlink/init(_:destination:isactive:)"&gt;init(_:destination:isActive:)&lt;/a&gt; —— 创建一个导航链接，在处于激活状态时呈现目标视图，其文本标签由链接根据本地化字符串键生成。&lt;/li&gt;
&lt;li&gt;&lt;a href="https://developer.apple.com/documentation/swiftui/navigationlink/init(destination:isactive:label:)"&gt;init(destination:isActive:label:)&lt;/a&gt; —— 创建一个导航链接，在处于激活状态时呈现目标视图。&lt;/li&gt;
&lt;li&gt;&lt;a href="https://developer.apple.com/documentation/swiftui/navigationlink/init(_:destination:tag:selection:)"&gt;init(_:destination:tag:selection:)&lt;/a&gt; —— 创建一个导航链接，当绑定的选择变量与你提供的值相匹配时呈现目标视图，其文本标签由链接根据标题字符串生成。&lt;/li&gt;
&lt;li&gt;&lt;a href="https://developer.apple.com/documentation/swiftui/navigationlink/init(destination:tag:selection:label:)"&gt;init(destination:tag:selection:label:)&lt;/a&gt; —— 创建一个导航链接，当绑定的选择变量等于给定的标签值时呈现目标视图。&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>6.5 用标签页导航增强应用内容</title><link>https://before80.github.io/prgms/Swift/SwiftUI/appstructure/6-Navigation/6.5-EnhancingYourAppContentWithTabNavigation/</link><pubDate>Sat, 12 Sep 2026 12:47:47 +0800</pubDate><guid>https://before80.github.io/prgms/Swift/SwiftUI/appstructure/6-Navigation/6.5-EnhancingYourAppContentWithTabNavigation/</guid><description>&lt;blockquote&gt;
&lt;p&gt;原文链接: &lt;a href="https://developer.apple.com/documentation/swiftui/enhancing-your-app-content-with-tab-navigation"&gt;https://developer.apple.com/documentation/swiftui/enhancing-your-app-content-with-tab-navigation&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id="65-用标签页导航增强应用内容"&gt;6.5 用标签页导航增强应用内容&lt;/h1&gt;
&lt;p&gt;用标签栏提供快捷导航的同时，让应用内容始终处于醒目位置。&lt;/p&gt;
&lt;h2 id="Overview"&gt;概述&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://developer.apple.com/documentation/visionos/destination-video"&gt;Destination Video&lt;/a&gt; 采用了 &lt;a href="https://developer.apple.com/documentation/swiftui/tabviewstyle/sidebaradaptable"&gt;sidebarAdaptable&lt;/a&gt; 标签页视图样式，它为每个平台优化了内容浏览体验。&lt;/p&gt;</description></item></channel></rss>