LiquidGlassKit
SwiftUI 向けの Liquid Glass サーフェスとコントロール: OS 26 ではネイティブガラス、iOS 17 までは Material フォールバック。
ライセンス: MIT
Liquid Glass を使いたいが、それをサポートしないシステムにも対応したいアプリのための SwiftUI パッケージです。iOS、macOS、tvOS、watchOS 26 では SwiftUI 自身のネイティブな glassEffect で描画し、それより古いバージョンと visionOS ではティント、エッジハイライト、シャドウを伴う Material のぼかしで描画します。すべてのコンポーネントは glassSurface という1つのモディファイアの上に構築されているため、テーマ、描画パス、Reduce Transparency が一箇所で扱われます。サードパーティへの依存はありません。
機能
- 1つのモディファイア、2つのパス: glassSurface は実行時にネイティブガラスか Material フォールバックを選び、glassRenderingMode(.fallback) はどこでも一方の見た目を強制します
- 作成済みのコントロール: ボタン、switch のスタイル、スライダー、カード、テキストフィールド、検索バー、アクションボタンとバッジを備えたフローティング tab bar、navigation bar、ボトムシート
- グラデーションでティントされたガラスと、両方の描画パスで動作するアニメーションの shimmer、pulse、breathe ハイライト
- ビュー階層全体のための GlassTheme、GlassPreset にある14種類のプリセット、調整したテーマを Swift のコードに戻す GlassCodeExporter
- アクセシビリティ: フォールバックは Reduce Transparency では不透明な背景を、Increase Contrast では強めのエッジを描画し、Reduce Motion ではハイライトを描画しません。switch と slider では SwiftUI 自身の VoiceOver の動作を使います
- SwiftUI の glassEffect、GlassEffectContainer、GlassButtonStyle と名前が衝突しないため、両方のモジュールを同じファイルで import できます
- オフスクリーンでのピクセルチェックを含む Swift Testing suite が、CI 上で macOS、iOS 26 シミュレータ、iOS 18.6 シミュレータで実行されます
クイックスタート
1import LiquidGlassKit2import SwiftUI3 4struct ContentView: View {5 var body: some View {6 ZStack {7 LinearGradient(colors: [.indigo, .pink], startPoint: .top, endPoint: .bottom)8 .ignoresSafeArea()9 VStack(spacing: 16) {10 GlassCard {11 Label("Hello, glass", systemImage: "sparkles")12 }13 GlassButton("Tap me", systemImage: "hand.tap") {}14 }15 }16 }17}インストール
Swift Package Manager (Xcode)
1https://github.com/muhittincamdali/LiquidGlassKit.gitSwift Package Manager (Package.swift)
1dependencies: [2 .package(url: "https://github.com/muhittincamdali/LiquidGlassKit.git", from: "2.1.0")3],4targets: [5 .target(name: "YourApp", dependencies: [6 .product(name: "LiquidGlassKit", package: "LiquidGlassKit")7 ])8]スクリーンショット







タイムライン
リポジトリが公開されました。v1.0.0 タグは最初のコミットを指していますが、これはビルドできません
簡素化: ソースの大半が削除され placeholder に置き換えられました。テストはコンパイルできず、CI は continue-on-error でそれを隠していました
Swift 6 向けに 2.0.0 として作り直し (PR #5): ネイティブパスと Material パスを持つ glassSurface、Swift Testing、DocC、デモアプリ
2.1.0 (PR #7): コントロール、エフェクト、プリセット、コードエクスポーターを LiquidGlass-Playground と GlassmorphismUI から書き直して統合。両リポジトリはアーカイブされました