我已经使用 HStack 堆叠了按钮,但每当我单击任何按钮时,我只选择最后定义的按钮,在这种情况下,我选择“区域”按钮。我认为这应该是一个视图重叠的问题。
struct ContentView: View {
@State var selectedOption: String = ""
var body: some View {
Form{
Section {
HStack(spacing: 1) {
Button ("Weight") {
selectedOption = "Weight"
} .padding()
.foregroundColor(.mint)
.background(.black)
.font(.title3)
Button ("Length") {
selectedOption = "Length"
} .padding()
.foregroundColor(.mint)
.background(.black)
.font(.title3)
Button ("Temperature") {
selectedOption = "Temperature"
} .padding()
.foregroundColor(.mint)
.background(.black)
.font(.title3)
Button ("Area") {
selectedOption = "Area"
} .padding()
.foregroundColor(.mint)
.background(.black)
.font(.title3)
}
}
Section {
if selectedOption == "Weight" {
Weight_View()
}else {
Text (selectedOption)
}
}.frame(height: 500)
}
}
}```
iOS 上默认的
Button
样式占据 Section
内 Form
的整行。
要解决此问题,您可以向每个按钮添加以下内容:
.buttonStyle(.plain)
添加后,每个
Button
都可以单独按下。