I have the following simple demo view:
struct DummyTestView: View {
@State private var inputValue1 = ""
@State private var inputValue2 = ""
var body: some View {
VStack {
Group {
TextField("input field1", text: $inputValue1)
Text("value1: \(inputValue1)")
}
.padding( .all)
.overlay(RoundedRectangle(cornerRadius: 6)
.stroke(Color.black.opacity(0.5), lineWidth: 2)
)
.padding( .all)
Group {
TextField("input field2", text: $inputValue2)
Text("value2: \(inputValue2)")
}
.padding(.all)
.overlay(RoundedRectangle(cornerRadius: 6)
.stroke(Color.black.opacity(0.5), lineWidth: 2)
)
.padding(.all)
}
}
}
When I typed something in first input field, then switch to another input field and type something there - I'am not able to switch back to the first input field and edit it. All this could be reproduced only when voice over is on.
The issue not reproduced when:
- replace "VStack" with "Form";
- remove any dependency for "inputValue" between "TextField" and "Text".
Environment: iOS 14.1, iPhone 12 mini, with enabled voice over. Any suggestions to update iOS to the latest version is not acceptable because our application should support iOS 14 and above.