<!--
{
  "availability" : [
    "iOS: 13.0.0 - 27.0.0",
    "iPadOS: 13.0.0 - 27.0.0",
    "macCatalyst: 13.0.0 - 27.0.0",
    "macOS: 10.15.0 - 27.0.0",
    "tvOS: 13.0.0 - 27.0.0",
    "visionOS: 1.0.0 - 27.0.0",
    "watchOS: 7.0.0 - 27.0.0"
  ],
  "documentType" : "symbol",
  "framework" : "SwiftUI",
  "identifier" : "/documentation/SwiftUI/NavigationView",
  "metadataVersion" : "0.1.0",
  "role" : "Structure",
  "symbol" : {
    "kind" : "Structure",
    "modules" : [
      "SwiftUI"
    ],
    "preciseIdentifier" : "s:7SwiftUI14NavigationViewV"
  },
  "title" : "NavigationView"
}
-->

# NavigationView

A view for presenting a stack of views that represents a visible path in a
navigation hierarchy.

```
nonisolated struct NavigationView<Content> where Content : View
```

## Overview

Use a `NavigationView` to create a navigation-based app in which the user
can traverse a collection of views. Users navigate to a destination view
by selecting a [`NavigationLink`](/documentation/SwiftUI/NavigationLink) that you provide. On iPadOS and macOS, the
destination content appears in the next column. Other platforms push a new
view onto the stack, and enable removing items from the stack with
platform-specific controls, like a Back button or a swipe gesture.

![A diagram showing a multicolumn navigation view on macOS, and a stack of views on iOS.](images/com.apple.SwiftUI/NavigationView-1@2x.png)

Use the [`init(content:)`](/documentation/SwiftUI/NavigationView/init(content:)) initializer to create a
navigation view that directly associates navigation links and their
destination views:

```
NavigationView {
    List(model.notes) { note in
        NavigationLink(note.title, destination: NoteEditor(id: note.id))
    }
    Text("Select a Note")
}
```

Style a navigation view by modifying it with the
[`navigationViewStyle(_:)`](/documentation/SwiftUI/View/navigationViewStyle(_:)) view modifier. Use other modifiers, like
[`navigationTitle(_:)`](/documentation/SwiftUI/View/navigationTitle(_:)-avgj), on views presented by the navigation
view to customize the navigation interface for the presented view.

## Topics

### Creating a navigation view

[`init(content:)`](/documentation/SwiftUI/NavigationView/init(content:))

Creates a destination-based navigation view.

### Styling navigation views

[`navigationViewStyle(_:)`](/documentation/SwiftUI/View/navigationViewStyle(_:))

Sets the style for navigation views within this view.

[`NavigationViewStyle`](/documentation/SwiftUI/NavigationViewStyle)

A specification for the appearance and interaction of a navigation view.



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)