基本
概要
DisclosureGroupとは
※iOS14から
タップすると内容が展開される形式で、Formや設定画面、長いリストなどに適している。
※iOS14から
タップすると内容が展開される形式で、Formや設定画面、長いリストなどに適している。
パラメータ
label:ヘッダー部分の内容
isExpanded:展開状態を制御する状態変数を指定(省略可能)
isExpanded:展開状態を制御する状態変数を指定(省略可能)
DisclosureGroup("ラベル", isExpanded: $isFirstGroupExpanded) { // 表示するビュー Text("サンプル") } DisclosureGroup(isExpanded: $isFirstGroupExpanded) { // 表示するビュー Text("サンプル") } label: { Text("ラベル") }
例
import SwiftUI struct ContentView: View { @State private var isGroupExpanded = false var body: some View { List { DisclosureGroup("セクション1") { Text("最初のセクションの詳細情報です。") } // ラベルをカスタマイズ DisclosureGroup(isExpanded: $isGroupExpanded) { Text("2番目のセクションの詳細情報です。") } label: { HStack { Image(systemName: "info.circle.fill") .foregroundColor(.blue) Text("セクション2") .font(.headline) } } } } } #Preview { ContentView() }
複数のネスト
import SwiftUI struct ContentView: View { var body: some View { List { DisclosureGroup("動物") { DisclosureGroup("犬") { Text("チワワ") Text("ポメラニアン") } DisclosureGroup("猫") { Text("シャム") Text("アメショー") } } } } } #Preview { ContentView() }