liquid-glass
Liquid Glass (SwiftUI, iOS 26)
Apple's iOS 26 Liquid Glass material in SwiftUI — a translucent, refractive layer that floats UI above content and morphs as it moves. The deep reference (the 3 Cs, the core .glassEffect API, GlassEffectContainer batching, glassEffectID morphing, glass button styles, background-extension/scroll-edge effects, tab bar & navigation, sheets, animation, common patterns, anti-patterns, fallbacks, accessibility, migration, checklist) lives in references/guide.md. This file is the decision and discipline layer: read it first, open the guide for specifics.
Currency note (2026-06-02): the iOS 26 API is
.glassEffect(_:in:)plusGlassEffectContainer,.glassEffectID(_:in:), and.buttonStyle(.glass)/.glassProminent..glassBackgroundEffect()is the visionOS modifier — not the iOS API — so never reach for it on iOS. The bundled guide uses the correct.glassEffectfamily throughout, verified against Apple's SwiftUI docs.
Dials
Set these explicitly at the start; they change what "correct" means.
ADOPTION—system-default(default; adopt SDK 26, let the system glass the standard nav bar, tab bar, toolbars, sheets — touch nothing) ·opt-in-effects(add.glassEffect/.buttonStyle(.glass)to a few custom floating controls) ·full-custom(bespoke morphing glass clusters,glassEffectID,glassEffectUnion— only when the design truly needs it).CONTAINER_BATCHING—single(one isolated glass element, no container needed) ·container(default for two or more nearby glass elements; wrap them inGlassEffectContainer(spacing:)so they render together, share sampling, and can morph). Multiple loose.glassEffectviews without a container is the #1 perf/visual mistake.FALLBACK—none(deployment target is iOS 26+, no branch needed) ·graceful(default when supporting < iOS 26; gate glass behindif #available(iOS 26, *)and fall back to.ultraThinMaterial/.regularMaterialso older OSes stay legible).
When to use
Building or reviewing any SwiftUI surface that adopts iOS 26 Liquid Glass: glassy custom controls, floating buttons, morphing toolbars, hero headers under a translucent nav bar, or a migration of .ultraThinMaterial UI to the new material. Pair with swiftui-pro for the surrounding SwiftUI architecture, state, and performance review — this skill owns the glass material specifically.