Skip to main content

How to let users edit your navigation title

About 2 minSwiftSwiftUIArticle(s)bloghackingwithswift.comcrashcourseswiftswiftuixcodeappstore

How to let users edit your navigation title 관련

SwiftUI by Example

Back to Home

How to let users edit your navigation title | SwiftUI by Example

How to let users edit your navigation title

Updated for Xcode 15

SwiftUI's NavigationStack can display a simple string by using navigationTitle(), but that same modifier can also accept a string binding so the user can edit the title by tapping on it.

Important

Navigation title editing only works when your navigation bar is operating in inline mode. As far as I know, it works only on iOS and iPadOS.

For example, this shows a default title of “Welcome”, but users can tap that title to change it:

struct ContentView: View {
    @State private var title = "Welcome"

    var body: some View {
        NavigationStack {
            Text("Hello, world!")
                .navigationTitle($title)
                .navigationBarTitleDisplayMode(.inline)
        }
    }
}

Download this as an Xcode projectopen in new window

If your title is there because it represents the name of some content your user is editing, I would recommend adding .toolbarRole(.editor) so that your title is aligned to the leading edge like other document titles:

struct ContentView: View {
    @State private var title = "Welcome"

    var body: some View {
        NavigationStack {
            Text("Hello, world!")
                .navigationTitle($title)
                .navigationBarTitleDisplayMode(.inline)
                .toolbarRole(.editor)
        }
    }
}

Download this as an Xcode projectopen in new window

Similar solutions…
How to let users delete rows from a list | SwiftUI by Example

How to let users delete rows from a list
How to let users share content using the system share sheet | SwiftUI by Example

How to let users share content using the system share sheet
How to let users move rows in a list | SwiftUI by Example

How to let users move rows in a list
How to let users import videos using PhotosPicker | SwiftUI by Example

How to let users import videos using PhotosPicker
How to let users customize toolbar buttons | SwiftUI by Example

How to let users customize toolbar buttons

이찬희 (MarkiiimarK)
Never Stop Learning.