Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

AppStorage/VariableBlur

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

16 Commits

Repository files navigation

VariableBlur

VariableBlur

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:

  • all code is in one file
  • dynamically generates gradient image allowing for further adjustments
  • fixes crash when switching between light and dark mode
  • supports upside down variable blurs (clear at the top, blurred at the bottom)

Use of private API is obfuscated and did not trigger App Store rejection for me.

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()

About

SwiftUI variable blur (progressive blur)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

Contributors

Languages

  • Swift 100.0%

AltStyle によって変換されたページ (->オリジナル) /