2.9 KiB
iOS Blur Materials Reference (from Figma)
All materials use backdrop-blur: 50px (equivalent to UIBlurEffect system radius).
Dark Mode Materials
Ultrathin — Dark
Most transparent. Use for subtle overlays, nav bar pills.
| Layer | Property |
|---|---|
| Base fill | rgba(255, 255, 255, 0.07) |
| Blur layer | backdrop-blur: 50px, rgba(255, 255, 255, 0.03), blend: color-dodge |
SwiftUI equivalent: .ultraThinMaterial (note: adds slight grey chromatic tint on pure black)
Thin — Dark
Slight blur. Use for search bars, secondary panels.
| Layer | Property |
|---|---|
| Base fill | rgba(255, 255, 255, 0.05) |
| Blur layer | backdrop-blur: 50px, rgba(255, 255, 255, 0.40), blend: color-dodge |
SwiftUI equivalent: .thinMaterial
Regular (Default) — Dark
Medium blur. Use for tab bars, cards, input bars.
| Layer | Property |
|---|---|
| Base fill | rgba(255, 255, 255, 0.25), blend: plus-lighter |
| Blur layer | backdrop-blur: 50px, rgba(255, 255, 255, 0.60), blend: color-dodge |
SwiftUI equivalent: .regularMaterial
Thick — Dark
Heavy, opaque blur. Use for modal overlays, sheets.
| Layer | Property |
|---|---|
| Fill | rgba(0, 0, 0, 0.60) |
| Blur | backdrop-blur: 50px |
SwiftUI equivalent: .thickMaterial
Dark Mode Vibrant Colors (on material backgrounds)
Labels (text over material)
| Token | Hex | Usage |
|---|---|---|
| Vibrant Primary | #FFFFFF |
Main text |
| Vibrant Secondary | #999999 |
Subtitle, caption |
| Vibrant Tertiary | #404040 |
Hint, placeholder |
| Vibrant Quaternary | #262626 |
Disabled text |
Fills (elements over material)
| Token | Hex | Usage |
|---|---|---|
| Vibrant Primary | #333333 |
Main fill |
| Vibrant Secondary | #121212 |
Secondary fill |
| Vibrant Tertiary | #121212 |
Tertiary fill |
Separator
| Token | Hex |
|---|---|
| Separator | #1A1A1A |
Dark Theme — Practical Gotchas
-
.thinMaterial/.ultraThinMateriallook grey on dark backgrounds — they add a light chromatic tint. For elements on pure black, useColor.white.opacity(0.08)or the Figma "Ultrathin" recipe:rgba(255,255,255,0.07)base fill. -
Telegram-style dark fades are
LinearGradientwithColor.blackopacity stops, NOT material blurs. -
UIVisualEffectViewcannot blur SwiftUI content — different rendering layers.
iOS Version Mapping
| Figma Material | iOS < 26 (SwiftUI) | iOS 26+ |
|---|---|---|
| Ultrathin | .ultraThinMaterial or Color.white.opacity(0.07) |
.glassEffect(.ultraThin) |
| Thin | .thinMaterial or Color.white.opacity(0.05) |
.glassEffect(.thin) |
| Regular | .regularMaterial |
.glassEffect(.regular) |
| Thick | .thickMaterial or Color.black.opacity(0.6) |
.glassEffect(.thick) |