Skip to main content

Login-Formular mit Fokussteuerung

Beschreibung

Diese View bietet ein einfaches Formular mit Eingabefeldern für Benutzername und 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 {
        VStack(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()
}