Alle Open-Source-Pakete
UISwift

LiquidGlassKit

Liquid-Glass-Oberflächen und -Controls für SwiftUI: natives Glas auf OS 26, ein Material-Fallback bis iOS 17.

17SterneNeueste Version: v2.1.0Aktualisiert: 15. Oktober 2026
Plattformen:iOS 17macOS 14tvOS 17watchOS 10visionOS 1

Lizenz: MIT

Ein SwiftUI-Package für Apps, die Liquid Glass nutzen wollen, aber weiterhin Systeme ohne diese API unterstützen. Auf iOS, macOS, tvOS und watchOS 26 zeichnet es mit SwiftUIs nativem glassEffect; auf früheren Versionen und auf visionOS zeichnet es einen Material-Blur mit Tönung, Kanten-Highlight und Schatten. Jede Komponente baut auf einem einzigen Modifier auf, glassSurface, sodass Theme, Rendering-Pfad und Reduce Transparency an einer Stelle gehandhabt werden. Keine Drittanbieter-Abhängigkeiten.

Funktionen

  • Ein Modifier, zwei Pfade: glassSurface wählt zur Laufzeit natives Glas oder den Material-Fallback, und glassRenderingMode(.fallback) erzwingt überall denselben Look
  • Fertige Controls: Buttons, ein Switch-Style, ein Slider, Cards, Textfelder, eine Suchleiste, eine schwebende Tab-Bar mit Action-Button und Badges, eine Navigation-Bar und ein Bottom Sheet
  • Gradient-getöntes Glas sowie animierte Shimmer-, Pulse- und Breathe-Highlights auf beiden Rendering-Pfaden
  • GlassTheme für eine gesamte View-Hierarchie, 14 Presets in GlassPreset und GlassCodeExporter, um ein angepasstes Theme zurück in Swift zu verwandeln
  • Barrierefreiheit: Der Fallback zeichnet bei Reduce Transparency einen deckenden Hintergrund und bei Increase Contrast eine stärkere Kante, bei Reduce Motion keine Highlights, für Switch und Slider gilt SwiftUIs eigenes VoiceOver-Verhalten
  • Keine Namenskollisionen mit SwiftUIs glassEffect, GlassEffectContainer oder GlassButtonStyle, sodass beide Module in einer Datei importiert werden können
  • Swift-Testing-Suites mit Offscreen-Pixelprüfungen, die in der CI auf macOS, einem iOS-26-Simulator und einem iOS-18.6-Simulator laufen

Schnellstart

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}

Installation

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]

Screenshots

Komponentengalerie der Demo-App im Light Mode
Komponentengalerie der Demo-App im Dark Mode
Dieselben Komponenten auf dem nativen Glas-Pfad und auf dem Material-Fallback, Light Mode
Dieselben Komponenten auf dem nativen Glas-Pfad und auf dem Material-Fallback, Dark Mode
Schwebendes Glas-Bottom-Sheet, Light Mode
Schwebende Glas-Tab-Bars mit Action-Button und Badges, Dark Mode
Playground-Screen, der ein Preset mit Slidern anpasst und den exportierten Swift-Code anzeigt

Zeitleiste

  1. Repository eröffnet; der Tag v1.0.0 zeigt auf den ersten Commit, der sich nicht bauen lässt

  2. Vereinfachung: Der größte Teil des Quellcodes wurde entfernt und durch Platzhalter ersetzt; die Tests kompilierten nicht, und die CI verschleierte dies mit continue-on-error

  3. Für Swift 6 als 2.0.0 neu aufgebaut (PR #5): glassSurface mit nativem und Material-Pfad, Swift Testing, DocC und eine Demo-App

  4. 2.1.0 (PR #7): Controls, Effekte, Presets und ein Code-Exporter, neu geschrieben aus LiquidGlass-Playground und GlassmorphismUI, die beide archiviert wurden

Links

Zusammengeführte Repositories

Verwandter Artikel

Artikel lesen