イニシャライザ
init(content:)
目的地を基礎にしたナビゲーションビューを作成します。
宣言
init(content: () -> Content)
パラメータ
content
ナビゲーションビューが包み込むコンテンツを生成する ViewBuilder。最初のビュー以降のビューは、複数列表示の対応する列のプレースホルダーとして機能します。
議論
文字列ラベルを使用して公開グループの作成
宛先ビューでリンクを初期化してナビゲーションを実行します。たとえば、カラーサンプルを表示する ColorDetail ビューについて考えてみましょう。
struct ColorDetail: View {
var color: Color
var body: some View {
color
.frame(width: 200, height: 200)
.navigationTitle(color.description.capitalized)
}
}
以下の NavigationView は、カラー詳細ビューへの 3 つのリンクを示しています。
NavigationView {
List {
NavigationLink("Purple", destination: ColorDetail(color: .purple))
NavigationLink("Pink", destination: ColorDetail(color: .pink))
NavigationLink("Orange", destination: ColorDetail(color: .orange))
}
.navigationTitle("Colors")
Text("Select a Color") // A placeholder to show before selection.
}
ランドスケープモードの iPad や Mac でのように、水平サイズクラスが UserInterfaceSizeClass.regular の場合、ナビゲーションビューは、2 番目以降のコンテンツビュー (上記の例では単一の Text ビュー) を使用して、複数列のビューとして表示され、対応する列のプレースホルダーとして表示されます:
ユーザがリストからナビゲーションリンクの 1 つを選択すると、リンクされた宛先ビューが詳細列内のプレースホルダーテキストを置き換えます。
サイズクラスが UserInterfaceSizeClass.compact の場合、iPhone の ポートレートの向きの場合のように、ナビゲーションビューは、ユーザがスタックとしてナビゲートする単一の列として表示されます。リンクの 1 つをタップすると、リストが詳細ビューに置き換えられ、リストに戻るための back (戻る) ボタンが表示されます。