.navigationSplitViewStyleを使用するとNavigationSplitView のスタイルを変更することが出来ます。スタイルを適用するとサイドバーを展開した時の詳細ビューの動作などが変わります。
パラメータ
サンプルコード
サンプルコードは、サイドバー、コンテンツビュー、ディテールビューの3カラムを表示するプログラムです。
サイドバーとコンテンツビューで果物と絵の組み合わせを選択するとディテールビューにその組み合わせが表示されます。
プログラムのポイント
NavigationSplitViewのモディファイアとしてnavigationSplitViewStyleを付与しています。.prominentDetail部分に先述のパラメータの値を設定します。
22行目:.navigationSplitViewStyle(.prominentDetail)
import SwiftUI
struct NavigationSplitViewSmp3: View {
let fruits: [String] = ["apple", "banana", "orenge"]
let fruitsImg: [String] = ["🍎", "🍌", "🍊"]
@State private var selected: String?
@State private var selectedImg: String?
var body: some View {
NavigationSplitView {
List(fruits, id: \.self, selection: $selected) { fruit in
Text(fruit)
}
} content: {
List(fruitsImg, id: \.self, selection: $selectedImg) { fruitImg in
Text(fruitImg)
}
} detail: {
Text("選択したフルーツ:" + (selected ?? "未選択") + (selectedImg ?? "未選択"))
}
// ビューのスタイルを指定
.navigationSplitViewStyle(.prominentDetail)
}
}パラメータによる表示の違い
個別に見ると違いが分かりにくいかもしれませんが、見比べてみると、サイドバーを開いた時の動作や詳細ビューの表示方法など若干の違いがあることがわかります。

