İç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")
        }
    }
}

 

Tarih:SwiftUI

İlk Yorumu Siz Yapın

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Copyright © 2021 Kenan Atmaca