İçeriğe geç

SwiftUI ile @FocusState kullanımı

Merhabalar bu yazımda SwiftUI 3 ile birlikte gelen @FocusState değişken kullanımını paylaşacağım.

@FocusState değişkeni ile birlikte artık login, register veya her hangi bir focus field durumunu hafızada saklayabiliyoruz. Dilerseniz bool olarak veya Hashable bir enum yaratarak odaklanılan field durumunu saklayabilirsiniz ve login action işleminde buna göre kararlar vererek kullanıcıyı yönlendirebilirsiniz.

struct FocusStateExample: View {
    
    @FocusState private var isEmailFocused: Bool
    @FocusState private var isPasswordFocused: Bool
    
    @State private var email = ""
    @State private var password = ""
    
    var body: some View {
        NavigationView {
            Form {
                TextField("email", text: $email, prompt: Text("email"))
                    .focused($isEmailFocused)
                SecureField("password", text: $password, prompt: Text("password"))
                    .focused($isPasswordFocused)
                
                Button("login") {
                    if email.isEmpty {
                        isEmailFocused = true
                    } else if password.isEmpty {
                        isPasswordFocused = true
                    } else {
                        isPasswordFocused = false
                        isEmailFocused = false
                        // login
                    }
                }
            }
            .navigationTitle("Sign in")
        }
    }
}

 

Kategori:SwiftUI

İlk Yorumu Siz Yapın

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

© 2025 Kenan Atmaca