liquid-glass-design
iOS 26 Liquid Glass design system — dynamic glass material with blur, reflection, and interactive morphing for SwiftUI, UIKit, and WidgetKit. Use when building iOS 26 Liquid Glass UI in SwiftUI, UIKit, or WidgetKit.
By affaan-m · 3,193 installs
npx skills add affaan-m/ecc --skill liquid-glass-design
Source repository · Upstream listing
Liquid Glass Design System (iOS 26)
Patterns for implementing Apple's Liquid Glass — a dynamic material that blurs content behind it, reflects color and light from surrounding content, and reacts to touch and pointer interactions. Covers SwiftUI, UIKit, and WidgetKit integration.
When to Activate
Building or updating apps for iOS 26+ with the new design language
Implementing glass style buttons, cards, toolbars, or containers
Creating morphing transitions between glass elements
Applying Liquid Glass effects to widgets
Migrating existing blur/material effects to the new Liquid Glass API
Core Pattern — SwiftUI
Basic Glass Effect
The simplest way to add Liquid Glass to any view:
Customizing Shape and Tint
Key customization options:
.regular — standard glass effect
.tint(Color) — add color tint for prominence
.interactive() — react to touch and pointer interactions
Shape: .capsule (default), .rect(cornerRadius:) , .circle
Glass Button Styles
GlassEffectContainer for Multiple Elements
Always wrap multiple glass views in a container for performance and morphing:
The spacing parameter controls merge distance — closer elements blend their glass shapes together.
Uniting Glass Effects
Combine multiple views into a single glass shape with glassEffectUnion :
Morphing Transitions
Create smooth morphing when glass elements appear/disappear:
Extending Horizontal Scrolling Under Sidebar
To allow horizontal scroll content to extend under a sidebar or inspector, ensure the ScrollView content reaches the leading/trailing edges of the container. The system automatically handles the under sidebar scrolling behavior when the layout extends to the edges — no additional modifier is needed.
Core Pattern — UIKit
Basic UIGlassEffect
UIGlassContainerEffect for Multiple Elements
Scroll Edge Effects
Toolbar Glass Integration
Core Pattern — WidgetKit
Rendering Mode Detection
Accent Groups for Visual Hierarchy
Image Rendering in Accented Mode
Container Background
Key Design Decisions
Decision Rationale
GlassEffectContainer wrapping Performance optimization, enables morphing between glass elements
spacing parameter Controls merge distance — fine tune how close elements must be to blend
@Namespace + glassEffectID Enables smooth morphing transitions on view hierarchy changes
interactive() modifier Explicit opt in for touch/pointer reactions — not all glass should respond
UIGlassContainerEffect in UIKit Same container pattern as SwiftUI for consistency
Accented rendering mode in widgets System applies tinted glass when user selects tinted Home Screen
Best Practices
Always use GlassEffectContainer when applying glass to multiple sibling views — it enables morphing and improves rendering performance
Apply .glassEffect() after other appearance modifiers (frame, font, padding)
Use .interactive() only on elements that respond to user interaction (buttons, toggleable items)
Choose spacing carefully in containers to control when glass effects merge
Use withAnimation when changing view hierarchies to enable smooth morphing transitions
Test across appearances — light mode, dark mode, and accented/tinted modes
Ensure accessibility contrast — text on glass must remain readable
Anti Patterns to Avoid
Using multiple standalone .glassEffect() views without a GlassEffectContainer
Nesting too many glass effects — degrades performance and visual clarity
Applying glass to every view — reserve for interactive elements, toolbars, and cards
Forgetting clipsToBounds = true in UIKit when using corner radii
Ignoring accented rendering mode in widgets — breaks tinted Home Screen appearance
Using opaque backgrounds behind glass — defeats the translucency effect
When to Use
Navigation bars, toolbars, and tab bars with the new iOS 26 design
Floating action buttons and card style containers
Interactive controls that need visual depth and touch feedback
Widgets that should integrate with the system's Liquid Glass appearance
Morphing transitions between related UI states