In SwiftUI, whenever I have a TextField inside a TabView, when I use a bluetooth barcode scanner, the Textfield never gets the correct value from the scanner, it always skips numbers. Sometimes it skips 50% of the barcode, sometimes just 1 or 2 numbers. This happens only when the TextField is inside a Tabview.
I never thought I would get stuck on something like this to be honest, maybe I am missing something very simple?
Here is a testcode:
import SwiftUI
struct Testview: View {
@State private var searchProductText = ""
@FocusState var productFieldIsFocused: Bool
var body: some View {
TabView{
HStack {
TextField("", text: $searchProductText)
.focused($productFieldIsFocused)
.opacity(0)
.onSubmit {
print(searchProductText)
searchProductText = ""
productFieldIsFocused = true
}
}.onAppear{
productFieldIsFocused = true
}
}
}
}
struct Testview_Previews: PreviewProvider {
static var previews: some View {
Testview()
}
}