May 11, 2022Hide and show a view with opacity
Sometimes we need to hide and show a view in SwiftUI depending on a setting or state, but don’t want our layout to shift when the view appears.
We can use opacity() modifier to make the view fully opaque or transparent.
struct ContentView: View {
@State var showMessage = false
var body: some View {
VStack {
Button("Toggle message") {
showMessage.toggle()
}
Text("Welcome!")
.opacity(showMessage ? 1 : 0)
}
}
}
Fully transparent views are also hidden from VoiceOver.
Level up your Swift skills!$35
100+ tips to take your Swift code to the next level
Swift Gemsby Natalia Panferova
- Advanced Swift techniques for experienced developers bypassing basic tutorials
- Curated, actionable tips ready for immediate integration into any Swift project
- Strategies to improve code quality, structure, and performance across all platforms
Level up your Swift skills!
100+ tips to take your Swift code to the next level
Swift Gems
by Natalia Panferova
$35If you are enjoying our blog and would like to support us, you can sponsor us on GitHub.
Subscribe to our monthly newsletter to get exclusive Swift and SwiftUI tips, project updates, behind-the-scenes insights, and special discounts on our books.
For more frequent updates, follow us on X @nilcoalescing.