すべてのオープンソースパッケージ
UISwift

LiquidGlassKit

SwiftUI 向けの Liquid Glass サーフェスとコントロール: OS 26 ではネイティブガラス、iOS 17 までは Material フォールバック。

17スター数最新リリース: v2.1.0更新日: 2026年10月15日
対応プラットフォーム:iOS 17macOS 14tvOS 17watchOS 10visionOS 1

ライセンス: 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 シミュレータで実行されます

クイックスタート

swift
1import LiquidGlassKit
2import SwiftUI
3 
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)

text
1https://github.com/muhittincamdali/LiquidGlassKit.git

Swift Package Manager (Package.swift)

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]

スクリーンショット

デモアプリのコンポーネントギャラリー、ライトモード
デモアプリのコンポーネントギャラリー、ダークモード
同じコンポーネントのネイティブガラスパスと Material フォールバックでの表示、ライトモード
同じコンポーネントのネイティブガラスパスと Material フォールバックでの表示、ダークモード
フローティングガラスのボトムシート、ライトモード
アクションボタンとバッジを備えたフローティングガラスの tab bar、ダークモード
スライダーでプリセットを調整し、書き出された Swift コードを表示する Playground 画面

タイムライン

  1. リポジトリが公開されました。v1.0.0 タグは最初のコミットを指していますが、これはビルドできません

  2. 簡素化: ソースの大半が削除され placeholder に置き換えられました。テストはコンパイルできず、CI は continue-on-error でそれを隠していました

  3. Swift 6 向けに 2.0.0 として作り直し (PR #5): ネイティブパスと Material パスを持つ glassSurface、Swift Testing、DocC、デモアプリ

  4. 2.1.0 (PR #7): コントロール、エフェクト、プリセット、コードエクスポーターを LiquidGlass-Playground と GlassmorphismUI から書き直して統合。両リポジトリはアーカイブされました

リンク

統合されたリポジトリ

関連記事

記事を読む