SwiftUI variable blur (progressive blur)
First of all, all hard work was done by jtrivedi - I just made some minor adjustments.
Changes in this version:
Use of private API did not trigger App Store rejection for me but do tell if it does for you.
Copy VariableBlur.swift to your project.
To add a package dependency to your Xcode project, select File > Add Package and enter this repository's URL (https://github.com/nikstar/VariableBlur).
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()
}
}