SwiftUIで画面遷移をおこなう場合、NavigationViewを利用する。

これはUIKitのUINavigationControllerと同じように階層的な画面遷移の管理をおこなうことのできるビューで、今回は最低限のビューの表示方法を紹介する。

ナビゲーションビューでビューを表示する

下記のようにNavigationViewの中にビューを配置する。

struct ContentView: View {
    var body: some View {
        NavigationView {
            Text("Hello World")
                .navigationBarTitle("タイトル")
        }
    }
}

ここで登場したnavigationBarTitleモディファイアは、指定した文字列をナビゲーションバーのタイトルとして表示する。

また、navigationBarTitleの第二引数displayModeにinlineを指定すると、次のように小さなタイトルとして表示することができる。

struct ContentView: View {
    var body: some View {
        NavigationView {
            Text("Hello World")
                .navigationBarTitle("タイトル",
                                    displayMode: .inline)
        }
    }
}

displayModeはデフォルトでlargeに設定されており、もう一つの設定値automaticを指定すると前ナビゲーションのdisplayModeを継承する。