Contents

nikstar/variableblur

SwiftUI variable blur (progressive blur)

Install

Recommended

Copy VariableBlur.swift to your project.

SPM

To add a package dependency to your Xcode project, select File > Add Package and enter this repository's URL (<https://github.com/nikstar/VariableBlur>).

Example

Used to create image on top of this page:

ZStack(alignment: .top) {
    Color.white
    Color.blue.opacity(0.3)
    Image("im")
        .resizable()
        .aspectRatio(contentMode: .fit)
        .padding(.horizontal, 50)
    Text("VariableBlur")
        .font(.largeTitle.monospaced().weight(.bold))
        .padding(.top, 230)
        .foregroundStyle(.white.opacity(0.9))
}
.overlay(alignment: .top) {
    VariableBlurView(maxBlurRadius: 20, direction: .blurredTopClearBottom)
        .frame(height: 200)
}
.ignoresSafeArea()

Blur matching status bar/cutout safe area:

ContentView()
    .overlay(alignment: .top) {
        GeometryReader { geom in
            VariableBlurView(maxBlurRadius: 10)
                .frame(height: geom.safeAreaInsets.top)
                .ignoresSafeArea()
        }
    }

New: BackgroundBlur

Add background blur without any additional effects. See BackgroundBlur.swift.

HStack(spacing: 0) {
    Color.blue
    Color.blue.opacity(0.2)
}
.overlay {
    BackgroundBlur(radius: 20)
        .frame(width: 200, height: 100)
        .clipShape(.capsule)
}
.ignoresSafeArea()

Package Metadata

Repository: nikstar/variableblur

Default branch: main

README: README.md