Я хочу обнаружить Изменение фокуса и вызвать Изменение фокуса .
В этом простом примере я хочу определить, если пользователь щелкает мышью в одном из текстовых полей.
С другой стороны, я хочу, чтобы программно фокусировался с помощью кнопки.
struct ContentView: View {
@State private var textA = ""
@State private var textB = ""
@State private var focusableA = false
@State private var focusableB = false
var body: some View {
VStack{
HStack{
TextField("Field A", text: $textA)
.focusable(focusableA, onFocusChange: {f in print ("FocusChange A \(f)")})
TextField("Field V", text: $textB)
.focusable(focusableB, onFocusChange: {f in print ("FocusChange B \(f)")})
}
HStack{
Button(action: {self.focusableA = true; self.focusableB = false })
{Text("Set Focus to A")}
Button(action: {self.focusableB = true; self.focusableA = false })
{Text("Set Focus to B")
}
}
}
.frame(maxWidth: .infinity, maxHeight: .infinity)
}
}
Приведенный выше код не работает, как это можно сделать быть сделано.