Mein einziges Problem ist, dass der Glaseffekt nicht auf den Hintergrund angewendet wird, auf dem der Rand hinzugefügt wird.

Code: Select all
struct GroupedGlassBorder: View {
@State var selected: Int = 1
var body: some View {
GlassEffectContainer {
HStack {
BorderButton(title: "One", num: 1, selected: $selected)
BorderButton(title: "Two", num: 2, selected: $selected)
BorderButton(title: "Three", num: 3, selected: $selected)
}
}
.glassEffect()
}
}
struct BorderButton: View {
var title: String
var num: Int
@Binding var selected: Int
var body: some View {
Button {
self.selected = num
} label: {
Text(title)
.padding(12)
}
.background(alignment: .bottom) {
Capsule()
.frame(height: 2)
.foregroundStyle(selected == num ? .red : .clear)
}
}
}
Mobile version