I’m encountering a weird behavior on iOS 26. I have a simple Liquid Glass button on a view.
struct ContentView: View {
@State private var isSheetVisible: Bool = false
@State private var text: String = ""
var body: some View {
VStack {
Button {
isSheetVisible.toggle()
} label: {
Text("Show Sheet")
.font(.system(size: 20))
.fontWeight(.semibold)
}
.buttonStyle(.glassProminent)
.controlSize(.large)
.buttonSizing(.flexible)
.tint(.red)
.frame(width: 340)
.disabled(text.isEmpty)
}
.padding()
.sheet(isPresented: $isSheetVisible) {
OverlaySheet()
}
}
}
This works fine. And if I disable the button like this .disabled(text.isEmpty), the opacity of the text on the button is reduced a little but still remains clearly visible.

Next, I want to show a sheet over this view and I have a similar button in that sheet as well.
struct OverlaySheet: View {
@Environment(\.dismiss) private var dismiss
@State private var text: String = ""
var body: some View {
VStack {
Button {
dismiss()
} label: {
Text("Dismiss")
.font(.system(size: 20))
.fontWeight(.semibold)
}
.buttonStyle(.glassProminent)
.controlSize(.large)
.buttonSizing(.flexible)
.tint(.red)
.frame(width: 340)
.disabled(text.isEmpty)
}
.padding()
.presentationDetents([.fraction(0.5)])
}
}
This is where it gets weird. When the button in the sheet is not disabled, the button text appears. But if I disable the button similar to what I did before, the text barely visible.

Any idea what this is happening?
