SwiftUI: conditionally show items in the view
One common thing to do in a form is to have a toggle and when that toggle is enabled, show a bunch of additional options.
You can see this all the time in the Settings app, for example when you enable WiFi.
How can you do that?
First create a Form
view with a Toggle
control:
struct ContentView: View {
@State private var enabled = false
var body: some View {
Form {
Toggle("Enable?", isOn: $enabled)
}
}
}
Then add this block after the Toggle
view:
if enabled {
Section {
Text("This appears only if enabled")
}
}
like this:
struct ContentView: View {
@State private var enabled = false
var body: some View {
Form {
Toggle("Enable?", isOn: $enabled)
if enabled {
Section {
Text("This appears only if enabled")
}
}
}
}
}
Now with the toggle disabled, the Text view will not be visible:
But when you enable the toggle, it appears:
→ Get my Swift Handbook
Here is how can I help you:
- COURSES where I teach everything I know
- THE VALLEY OF CODE your web development manual
- BOOTCAMP 2024 cohort in progress, next edition in 2025
- BOOKS 16 coding ebooks you can download for free on JS Python C PHP and lots more
- SOLO LAB everything I know about running a lifestyle business as a solopreneur
- Interesting links collection
- Follow me on X