Swiftui: Drücken der Registerkarte von der externen Tastatur ändert den Fokus von Textfield nicht, wenn sich die Ansicht

Post a reply

Smilies
:) :( :oops: :chelo: :roll: :wink: :muza: :sorry: :angel: :read: *x) :clever:
View more smilies

BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: Swiftui: Drücken der Registerkarte von der externen Tastatur ändert den Fokus von Textfield nicht, wenn sich die Ansicht

by Anonymous » 03 Apr 2025, 09:14

Code: Select all

Device: iPhone XR
iOS: 18.3.2
Need to support: iOS 15.0+
< /code>
Ich teste die Zugänglichkeit mit externer Bluetooth -Tastatur. Ich habe den vollständigen Tastaturzugriff 
aus Barrierefreiheitseinstellungen des iPhone eingeschaltet. Meine App -Benutzeroberfläche enthält 2 Textfelder, 2 Schaltflächen. Wenn Sie die Registerkarte von der Tastatur von der Tastatur drücken, möchte ich, dass der Fokus auf jede UI -Elemente verschoben wird. Der folgende Code funktioniert gut. Dort kann ich Textfelder und Schaltflächen konzentrieren und den Wert ändern: < /p>

Code: Select all

struct ContentView: View {
@State private var count = 0
@State var text1 = ""
@State var text2 = ""
@FocusState private var focusedButton: Int?

var body: some View {
VStack {
VStack(spacing: 24.0) {
Text("Btn Tap Count: \(count)")
TextField("text field 1", text: $text1)
.textFieldStyle(RoundedBorderTextFieldStyle())
.focused($focusedButton, equals: 1)
TextField("text field 2", text: $text2)
.textFieldStyle(RoundedBorderTextFieldStyle())
.focused($focusedButton, equals: 2)

Button(action: {
count += 1
}, label: {
Text("BTN TO Increase")
.padding(.vertical, 8.0)
.frame(maxWidth: .infinity)
})
.background(Color.green)
.cornerRadius(10)
Button(action: {
count -= 1
}, label: {
Text("BTN TO Decrease")
.padding(.vertical, 8.0)
.frame(maxWidth: .infinity)
})
.background(Color.orange)
.cornerRadius(10)
}
.padding(.top, 24)
.padding()
}
}
}
Das Video ist hier, Sie können die Schaltfläche sehen, und Textfelder werden ordnungsgemäß fokussiert (für hochranges Video überprüfen Sie diesen Link):

Top