Skip to main content

How to preview your layout in a navigation view

About 2 minSwiftSwiftUIArticle(s)bloghackingwithswift.comcrashcourseswiftswiftuixcodeappstore

How to preview your layout in a navigation view 관련

SwiftUI by Example

Back to Home

How to preview your layout in a navigation view | SwiftUI by Example

How to preview your layout in a navigation view

Updated for Xcode 15

If you’ve designed a view that you know will be presented as part of a navigation stack, but doesn’t itself contain a navigation stack, you won’t see its navigation title or buttons by default.

Fortunately, you can add your view to a navigation stack right inside your preview – this simulates having a navigation bar at the top without actually adding one for the live code, so you can see exactly how it looks.

For example, this view has no navigation stack but is configured to display in a specific way when presented as part of one – i.e. being pushed from another view:

struct ContentView: View {
    var body: some View {
        Text("Hello World")
            .navigationTitle("Welcome")
    }
}

To preview that in a navigation stack, just add a NavigationStack around the content view in your preview, like this:

struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        NavigationStack {
            ContentView()
        }
    }
}
An Xcode Preview of a NavigationStack titled “Welcome” with contents “Hello World”.
An Xcode Preview of a NavigationStack titled “Welcome” with contents “Hello World”.

This allows you to see accurately how the view will look without having to modify the view’s actual layout.

Similar solutions…
How to preview your layout at different Dynamic Type sizes | SwiftUI by Example

How to preview your layout at different Dynamic Type sizes
How to preview your layout in light and dark mode | SwiftUI by Example

How to preview your layout in light and dark mode
SwiftUI tips and tricks | SwiftUI by Example

SwiftUI tips and tricks
How to preview your layout in portrait or landscape | SwiftUI by Example

How to preview your layout in portrait or landscape
How to preview your layout in different devices | SwiftUI by Example

How to preview your layout in different devices

이찬희 (MarkiiimarK)
Never Stop Learning.