🎨
【SwiftUI】Materialの透明度を指定する ※ベータ版
※環境はXcode 13.0 beta (13A5155e)。後に変更が加えられる可能性がある。
問題
2021年のSwiftUIには、UIKitのUIVisualEffectViewに相当するMaterialが登場した。しかしこれはColorとは違ってViewではないので、直接opacityメソッドで透明度を調節できない。
Material.regularMaterial
.opacity(0.5) //💥
対処法
Viewとして扱えるようにColor.clearをかます。
Color.clear
.background(.regularMaterial)
.opacity(headerOpacity) //✅
これでうまくいく。
Discussion