SwiftUI Liquid Glass Menu briefly turns black after dismissing before returning to transparent glass
Hi, I’m seeing a visual issue with a SwiftUI Menu styled with Liquid Glass on iOS 26.
I have a top bar control where a Menu is inside a GlassEffectContainer. The menu label uses .glassEffect(.regular.interactive()), glassEffectID, and glassEffectUnion. The control normally looks translucent, matching the background correctly. But when I open the menu and then dismiss it, the glass control briefly becomes solid black for a moment before returning to the expected transparent/glass appearance.
This is visible especially on a colorful/blurred background:
Before opening the menu: the control is transparent Liquid Glass.
Open the SwiftUI Menu.
Dismiss the menu.
The menu label/control briefly renders as a black pill.
After a short delay, it returns to the correct transparent glass style.
Here is the simplified structure:
@Namespace private var namespace
GlassEffectContainer(spacing: 18) {
VStack(spacing: 4) {
Menu {
Button {
selectedMode = .automatic
} label: {
Label("Automatic", systemImage: "wand.and.sparkles")
}
Button {
selectedMode = .instant
} label: {
Label("Instant", systemImage: "bolt.fill")
}
Button {
selectedMode = .thinking
} label: {
Label("Thinking", systemImage: "brain.head.profile")
}
Divider()
Button {
showSettings = true
} label: {
Label("Configure", systemImage: "slider.horizontal.3")
}
} label: {
HStack(spacing: 8) {
Image(systemName: selectedMode.icon)
Text(selectedMode.title)
Image(systemName: "chevron.down")
}
.padding(.horizontal, 16)
.frame(minWidth: 92, minHeight: 48)
.contentShape(RoundedRectangle(cornerRadius: 24, style: .continuous))
}
}
.glassEffect(.regular.interactive(), in: RoundedRectangle(cornerRadius: 24, style: .continuous))
.glassEffectUnion(id: "smart-intelligence-connected-menu", namespace: namespace)
.glassEffectID("smart-intelligence-menu-pill", in: namespace)
.buttonStyle(.plain)
.labelStyle(.iconOnly)
}
I also tried applying .buttonStyle(.glass) directly to the Menu, and tried moving the glass effect between the Menu label and the wrapper VStack. The issue still appears: after dismissing the menu, the glass label briefly falls back to a solid black appearance before the transparent glass effect recovers.
Is this expected behavior for SwiftUI.Menu with Liquid Glass, or is there a recommended way to avoid this black flash after menu dismissal? Should Menu labels avoid .glassEffect(.regular.interactive()) / GlassEffectContainer, or is there a different modifier order recommended for iOS 26? Thanks for reply.
0
0
88