Skip to main content

Wie erstelle ich einen einklappbaren Bereich (DisclosureGroup) in einem SwiftUI-Formular?

In SwiftUI kannst du dafür das DisclosureGroup-Element nutzen. Hier ein Beispiel, wie das umgesetzt wird:

import SwiftUI

struct CollapsibleFormSectionExample: View {
    @State private var isExpanded = false

    var body: some View {
        Form {
            DisclosureGroup("Account Settings", isExpanded: $isExpanded) {
                Text("Username: johndoe")
                Text("Email: johndoe@example.com")
            }
        }
    }
}

Erklärung des Codes: • Mit DisclosureGroup erzeugst du einen Bereich im Formular, der ein- und ausgeklappt werden kann. • Das Binding isExpanded steuert, ob der Bereich gerade geöffnet oder geschlossen ist. • Im ausgeklappten Zustand werden die Textfelder für „Username“ und „Email“ angezeigt. • Der gesamte Bereich ist in ein Form eingebettet, sodass das Layout dem typischen iOS-Formularstil entspricht.

Vorteile: Mit dieser Technik kannst du Formulare übersichtlicher gestalten, indem du nicht alle Felder auf einmal anzeigst. So können Nutzer gezielt Bereiche öffnen, die sie gerade interessieren, zum Beispiel Einstellungen für ihren Account.

Praxis-Tipp: Du kannst in einer View auch mehrere DisclosureGroup-Sektionen nutzen, um verschiedene Bereiche wie Zahlungsinformationen, Benachrichtigungen oder Profiloptionen übersichtlich zu gliedern.