Search code examples
iosswiftiphoneswiftuixcode11

SwiftUI - How can I blur the default background color of a view?


no code to show here, but I would like to know how it may be possible to do this. I have tried to use

.blur(radius: (20)

on a view, but it tends to blur the entire view. Including the text, and anything else in the view. The default background color is fine and I don't want/need to change it (in order to keep the app compatible with light/dark mode). I want to make the view's background slightly blurred/opaque, but I want the text and buttons in the view to still remain full and normal. Is there any way possible to just blur the background color of the view itself?


Solution

  • It is possible to apply blur directly to background only, like in the example below

    Button("Test") {}
            .background(Color.red.blur(radius: 20))
    

    blur button