SuperAPI AI 工具集

axiom-swiftui-nav-ref

通用与其它

查看项目

更新于 10-16 00:23

技能介绍

本技能是 SwiftUI 导航 API 的参考文档,面向需要实现或迁移 SwiftUI 导航的开发者。用途包括:实现 NavigationStack、NavigationSplitView、NavigationPath、Tab 与导航集成;处理深度链接与状态恢复;采用 iOS 26+ 导航特性;以及在 Stack、SplitView 与协调器模式之间做架构选型。

主要能力:数据驱动导航,用 NavigationPath 表示栈状态以支持程序化 push/pop;多列布局,NavigationSplitView 在 iPad 三列与 iPhone 单栈之间自动适配;状态恢复,通过 Codable NavigationPath 结合 SceneStorage 跨启动持久化;每个 Tab 独立 NavigationStack,切换时保留状态;iOS 26+ 自动应用 Liquid Glass 导航栏、侧边栏与工具栏。

关键用法:值式 NavigationLink 配合 navigationDestination(for:) 与路径绑定构成核心模式;navigationDestination 必须放在 NavigationStack 层级内且不置于惰性容器(如 ForEach)内部。NavigationPath 支持 append、removeLast、removeLast(path.count) 等操作,值均为 Codable 时路径可编码。深度链接用 .onOpenURL 解析 URL 后操作路径。Tab 语法(iOS 18+)支持 Tab、TabSection、.sidebarAdaptable、search 角色;搜索角色 Tab 内容须包在 NavigationStack 中并应用 .searchable(),否则搜索框不显示。

限制与注意事项:NavigationView 自 iOS 16 起废弃,新代码应改用 NavigationStack 或 NavigationSplitView。状态恢复建议存 ID 而非完整对象,并用 compactMap 处理已删除项。与 UIKit 相比,复杂协调器模式、遗留代码或特定 UIKit 特性可考虑 UINavigationController。文档未提供该技能的安装命令与具体收费信息。