여러 버튼을 사용할 때 SwiftUI 양식 컨테이너에서 예기치 않은 동작 [중복]
Nov 27 2020
아래 코드가 주어지면 버튼 ZERO
을 탭한 후 선택 항목이 표시 될 것으로 예상 ZERO
했지만 항상 ONE
. 사실, 버튼 이름을 탭할 필요는 없지만 행 중간에 있으며 선택 항목은 여전히 ONE
. 이는 예상치 못한 동작이며 버그 일 수 있습니다. 누구든지 이에 대한 설명 및 / 또는 해결 방법이 있습니까? iOS 14.0 및 Xcode 12.2 사용
struct TestForm : View {
@State var selection = ""
var body : some View {
Form {
Text("selection: \(selection)")
HStack {
Button(action: {
selection = "ZERO"
}) {
Text("ZERO")
}
Spacer()
Button(action: {
selection = "ONE"
}) {
Text("ONE")
}
}
}
}
}
답변
2 HarshilPatel Nov 27 2020 at 04:44
PlainButtonStyle ()을 사용하십시오 .
struct ContentView: View {
@State var selection = ""
var body : some View {
Form {
Text("selection: \(selection)")
HStack {
Button(action: {
selection = "ZERO"
}) {
Text("ZERO")
.foregroundColor(.blue)
}.buttonStyle(PlainButtonStyle())
Spacer()
Button(action: {
selection = "ONE"
}) {
Text("ONE")
.foregroundColor(.blue)
}.buttonStyle(PlainButtonStyle())
}
}
}
}
.foregroundColor(.blue)
버튼에 추가 하면 버튼이 .buttonStyle(PlainButtonStyle())
일반 텍스트처럼 보이기 때문에 버튼 텍스트에 추가 했습니다.