navigation-patterns

Guide SwiftUI navigation patterns across iOS, iPadOS, and macOS projects.

Updated Mar 15, 2026
One-click install
npx skills add https://github.com/jtvaris/sunday-night-dynasty --skill navigation-patterns-jtvaris
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: navigation-patterns
Source: https://github.com/jtvaris/sunday-night-dynasty/tree/main/.agents/skills/ios-development/navigation-patterns
Command: npx skills add https://github.com/jtvaris/sunday-night-dynasty --skill navigation-patterns-jtvaris

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

SwiftUI navigation patterns and architectures are essential for building robust iOS apps. This skill consolidates NavigationStack, NavigationSplitView, TabView, programmatic navigation, and custom transitions into a practical reference that helps teams design, review, and fix navigation flows across iOS, macOS, and iPadOS.

Core Features & Use Cases

  • Patterns for NavigationStack, NavigationSplitView, TabView, and programmatic navigation, including deep linking and state restoration considerations.
  • Guidance for choosing the right navigation container based on app structure (flat, hierarchical, or multi-column) and platform (iPhone vs iPad vs macOS).
  • Real-world scenarios and best practices to fix common navigation bugs and optimize user flow.

Quick Start

Apply the guidance to a sample SwiftUI navigation flow to determine when to use NavigationStack, NavigationSplitView, or TabView.

Frequently Asked Questions about navigation-patterns

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I choose between NavigationStack and NavigationSplitView for SwiftUI navigation?

SwiftUI navigation container selection depends on your app's structure and platform. Use NavigationStack for hierarchical iPhone flows, and NavigationSplitView for multi-column interfaces on iPadOS and macOS.

What's the best way to implement programmatic navigation with NavigationPath in SwiftUI?

Implement programmatic navigation by managing a NavigationPath state array. Append route values to push views and remove elements to pop, enabling deep linking and state restoration across your SwiftUI app.

When do I need NavigationStack for deep linking in iOS apps?

You need NavigationStack when building deep linking flows that require state-driven routing. It binds navigation destinations to state, allowing external URLs to trigger specific view stacks programmatically.

Does TabView work with NavigationStack for complex SwiftUI flows?

TabView works with NavigationStack to build complex navigation flows. Embed NavigationStack within each TabView tab to maintain independent navigation hierarchies and preserve state across tab switches.

Why does my SwiftUI navigationDestination not trigger properly inside a NavigationStack?

SwiftUI navigationDestination issues often stem from state management mismatches. Ensure your NavigationPath or view state correctly matches the data types declared in your navigationDestination modifiers to trigger proper routing.