
🔄 Cross-platform: Works on iOS, macOS, watchOS, tvOS, and visionOS
✨ Native visionOS support: Uses native glass effect on visionOS
🎨 Highly customizable: Adjust colors, materials, shadows, and more
🧩 SwiftUI integration: Simple ViewModifier implementation
![]() |
![]() |
![]() |
---|---|---|
iOS | watchOS I | watchOS II |
![]() |
![]() |
---|---|
macOS (Dark) I | macOS (Dark) II |
![]() |
![]() |
---|---|
tvOS I | tvOS II |
![]() |
![]() |
---|---|
visionOS | iPadOS |
Platform | iOS | macOS | watchOS | tvOS | visionOS |
---|---|---|---|---|---|
Version | 15.0+ | 14.0+ | 10.0+ | 15.0+ | 1.0+ |
Xcode Latest | Minimum | SVT |
---|---|---|
16.3 | 15.0 | 5.9 |
Open /Demo/Demo.xcodeproj
⚠️ To prevent resolving failed, please rename the root folder from SwiftGlass-xxx to SwiftGlass
Add SwiftGlass to your project through Swift Package Manager
PROJECT > Package Dependencies > +
https://github.com/1998code/SwiftGlass.git

Or you may add it manually as follows
dependencies: [
.package(url: "https://github.com/1998code/SwiftGlass.git", from: "1.0.0")
]

import SwiftUI
import SwiftGlass
struct ContentView: View {
var body: some View {
Text("Hello, Glass!")
.padding(40)
.glass() // Use default glass effect
}
}

VStack {
Text("Custom Glass")
Image(systemName: "sparkles")
}
.padding(30)
.glass(
radius: 20,
color: .blue,
material: .regularMaterial,
gradientOpacity: 0.7,
shadowColor: .blue,
shadowRadius: 10
)
SwiftGlass offers extensive customization options:
Parameter | Type | Default | Description |
---|---|---|---|
displayMode |
.always or .automatic |
.always |
Controls when the effect is displayed |
radius |
CGFloat |
32 |
Corner radius of the glass effect |
color |
Color |
.white |
Base color for gradient and highlights |
material |
Material |
.ultraThinMaterial |
SwiftUI material style |
gradientOpacity |
Double |
0.5 |
Opacity level for the gradient overlay |
gradientStyle |
.normal or .reverted |
.normal |
Direction style of the gradient |
strokeWidth |
CGFloat |
1.5 |
Width of the border stroke |
shadowColor |
Color |
.white |
Color of the drop shadow |
shadowOpacity |
Double |
0.5 |
Opacity level for the shadow |
shadowRadius |
CGFloat? |
nil |
Blur radius for the shadow |
shadowX |
CGFloat |
0 |
Horizontal offset of the shadow |
shadowY |
CGFloat |
5 |
Vertical offset of the shadow |
- visionOS: On visionOS, SwiftGlass uses the native
.glassBackgroundEffect()
for optimal rendering and system integration - Other platforms: A custom implementation combines materials, gradients, and shadows to achieve a similar effect
Contributions to SwiftGlass are welcome!
- To report bugs or request features, please open an issue on GitHub
- When submitting a pull request, please follow the coding style of the project
MIT. Read the LICENSE file for details.
This doc is also available in:
English | 繁中 / 简中 / 粵語 | 日本語 | 한국어
Please feel free to open a pull request and add new language(s) or fix any typos/mistakes.