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:
→ I wrote 17 books to help you become a better developer, download them all at $0 cost by joining my newsletter
→ JOIN MY CODING BOOTCAMP, an amazing cohort course that will be a huge step up in your coding career - covering React, Next.js - next edition February 2025