Comportamento inesperado no contêiner de formulário SwiftUI ao usar vários botões [duplicar]
Nov 27 2020
Dado o código abaixo, eu esperava ver a seleção ZERO
após tocar no ZERO
botão, mas sempre é ONE
. Na verdade, não preciso tocar no nome do botão, mas no meio da linha, e a seleção ainda será ONE
. Este é um comportamento inesperado e possivelmente um bug. Alguém tem uma explicação e / ou solução alternativa para isso? Usando iOS 14.0 e 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")
}
}
}
}
}
Respostas
2 HarshilPatel Nov 27 2020 at 04:44
Use 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())
}
}
}
}
Eu adicionei .foregroundColor(.blue)
ao texto do botão porque, se você adicionar .buttonStyle(PlainButtonStyle())
ao seu botão, os botões parecerão texto simples.
O que significa um erro “Não é possível encontrar o símbolo” ou “Não é possível resolver o símbolo”?
George Harrison ficou chateado por suas letras de 'Hurdy Gurdy Man' de Donovan não terem sido usadas