🔄 크로스 플랫폼: iOS, macOS, watchOS, tvOS 및 visionOS에서 작동
✨ 네이티브 visionOS 지원: visionOS에서 네이티브 유리 효과 사용
🎨 높은 커스터마이징 가능성: 색상, 재질, 그림자 등 다양한 속성 조정 가능
🧩 SwiftUI 통합: 간단한 ViewModifier 구현
![]() |
![]() |
![]() |
|---|---|---|
| iOS | watchOS I | watchOS II |
![]() |
![]() |
|---|---|
| macOS (다크 모드) I | macOS (다크 모드) II |
![]() |
![]() |
|---|---|
| tvOS I | tvOS II |
![]() |
![]() |
|---|---|
| visionOS | iPadOS |
iOS 15.0+, macOS 14.0+, watchOS 10.0+, tvOS 15.0+ 및 visionOS 1.0+
Xcode 16.3 (최소 요구사항 아님)
/Demo/Demo.xcodeproj 열기
Swift Package Manager를 통해 프로젝트에 SwiftGlass 추가하기
프로젝트 > Package Dependencies > +
https://github.com/1998code/SwiftGlass.git
또는 다음과 같이 수동으로 추가할 수 있습니다
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("안녕, 유리!")
.padding(40)
.glass() // 기본 유리 효과 사용
}
}
VStack {
Text("커스텀 유리")
Image(systemName: "sparkles")
}
.padding(30)
.glass(
radius: 20,
color: .blue,
material: .regularMaterial,
gradientOpacity: 0.7,
shadowColor: .blue,
shadowRadius: 10
)SwiftGlass는 다양한 커스터마이징 옵션을 제공합니다:
| 매개변수 | 타입 | 기본값 | 설명 |
|---|---|---|---|
displayMode |
.always 또는 .automatic |
.always |
효과가 표시되는 시기를 제어 |
radius |
CGFloat |
32 |
유리 효과의 모서리 반경 |
color |
Color |
.white |
그라데이션과 하이라이트의 기본 색상 |
material |
Material |
.ultraThinMaterial |
SwiftUI 재질 스타일 |
gradientOpacity |
Double |
0.5 |
그라데이션 오버레이의 불투명도 수준 |
gradientStyle |
.normal 또는 .reverted |
.normal |
그라데이션의 방향 스타일 |
strokeWidth |
CGFloat |
1.5 |
테두리 선의 두께 |
shadowColor |
Color |
.white |
그림자 색상 |
shadowOpacity |
Double |
0.5 |
그림자의 불투명도 수준 |
shadowRadius |
CGFloat? |
nil |
그림자의 흐림 반경 |
shadowX |
CGFloat |
0 |
그림자의 가로 오프셋 |
shadowY |
CGFloat |
5 |
그림자의 세로 오프셋 |
- visionOS: visionOS에서는 SwiftGlass가 최적의 렌더링과 시스템 통합을 위해 네이티브
.glassBackgroundEffect()를 사용합니다 - 기타 플랫폼: 유사한 효과를 달성하기 위해 재질, 그라데이션 및 그림자를 조합한 커스텀 구현을 사용합니다
SwiftGlass에 기여하는 것을 환영합니다!
- 버그를 보고하거나 기능을 요청하려면 GitHub에 이슈를 열어주세요
- 풀 리퀘스트를 제출할 때는 프로젝트의 코딩 스타일을 따라주세요
MIT. 자세한 내용은 LICENSE 파일을 참조하세요.










