Login-Formular mit Fokussteuerung
Beschreibung
DemonstriertDiese dieView Verwendungbietet vonein @FocusStateeinfaches Formular mit Eingabefeldern für eineBenutzername bessereund Tastaturflusssteuerung.Passwort. Über die Fokussteuerung kann das aktive Eingabefeld gezielt gewechselt werden, beispielsweise durch einen Button-Klick.
🔍 Zweck
- Aufbau eines Login-Formulars mit Tastaturfokus
- Verbesserung der Benutzerführung durch automatische Feldnavigation
- Testen von Fokuszuständen in Formularen
- Erstellen einer minimalen Authentifizierungsmaske
- Demonstration der SwiftUI Fokus-API
🖥️ Betriebssystem
iOS
📄 Codebeispiel
import SwiftUI
@main
struct FocusedLoginApp: App {
var body: some Scene {
WindowGroup {
ContentView()
}
}
}
struct ContentView: View {
// Define which fields can have focus
enum Field: Hashable {
case username, password
}
// Track the current focused field
@FocusState private var focusedField: Field?
// Store input values
@State private var username = ""
@State private var password = ""
var body: some View {
VStackVStack(spacing: 16) {
TextField("Username", text: $username)
// Bind focus to username field
.focused($focusedField, equals: .username)
.textFieldStyle(.roundedBorder)
SecureField("Password", text: $password)
// Bind focus to password field
.focused($focusedField, equals: .password)
.textFieldStyle(.roundedBorder)
Button("Next") {
// Move focus to password when button is pressed
focusedField = .password
}
.buttonStyle(.borderedProminent)
}
.padding()
}
}
// Modern Swift 5.10+ preview syntax
#Preview {
ContentView()
}