Updated for Xcode 14.0 beta 1
New in iOS 15
SwiftUI has a brilliantly simple equivalent to UIVisualEffectView
, that combines ZStack
, the background()
modifier, and a range of built-in materials.
For example, this places some text over an image, applying a standard blur effect to the text:
ZStack {
Image("singapore")
Text("Visit Singapore")
.padding()
.background(.thinMaterial)
}
Download this as an Xcode project
You can adjust the “thickness” of your material – how much of the background content shines through – by using one of several material types. From thinnest to thickest, they are:
.ultraThinMaterial
.thinMaterial
.regularMaterial
.thickMaterial
.ultraThickMaterial
If you’re using the secondary
foreground color, SwiftUI automatically adjusts the text color so that it has a vibrant effect and can stand out from the background:
ZStack {
Image("singapore")
Text("Visit Singapore")
.foregroundColor(.secondary)
.padding()
.background(.ultraThinMaterial)
}
Download this as an Xcode project
SPONSORED In-app subscriptions are a pain. The code can be hard to write, hard to test, and full of edge cases. RevenueCat makes it straightforward and reliable so you can get back to building your app.
Sponsor Hacking with Swift and reach the world's largest Swift community!
Link copied to your pasteboard.