← ClaudeAtlas

swiftui-navigationlisted

Implement SwiftUI navigation patterns including NavigationStack, NavigationSplitView, sheet presentation, tab-based navigation, and deep linking. Use when building push navigation, programmatic routing, multi-column layouts, modal sheets, tab bars, universal links, or custom URL scheme handling.
dpearson2699/swift-ios-skills · ★ 640 · Web & Frontend · score 81
Install: claude install-skill dpearson2699/swift-ios-skills
# SwiftUI Navigation Navigation patterns for SwiftUI apps targeting iOS 26+ with Swift 6.3. Covers push navigation, multi-column layouts, sheet presentation, tab architecture, and deep linking. Patterns are backward-compatible to iOS 17 unless noted. ## Contents - [NavigationStack (Push Navigation)](#navigationstack-push-navigation) - [NavigationSplitView (Multi-Column)](#navigationsplitview-multi-column) - [Sheet Presentation](#sheet-presentation) - [Tab-Based Navigation](#tab-based-navigation) - [Deep Links](#deep-links) - [Common Mistakes](#common-mistakes) - [Review Checklist](#review-checklist) - [References](#references) ## NavigationStack (Push Navigation) Use `NavigationStack` with a `NavigationPath` binding for programmatic, type-safe push navigation. Define routes as a `Hashable` enum and map them with `.navigationDestination(for:)`. ```swift struct ContentView: View { @State private var path = NavigationPath() var body: some View { NavigationStack(path: $path) { List(items) { item in NavigationLink(value: item) { ItemRow(item: item) } } .navigationDestination(for: Item.self) { item in DetailView(item: item) } .navigationTitle("Items") } } } ``` **Programmatic navigation:** ```swift path.append(item) // Push path.removeLast() // Pop one path = NavigationPath() // Pop to root ``` **Router