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") } } }
İlk Yorumu Siz Yapın