Bu yöntem klavyeyi ara parçalar üzerinde gizlemenizi sağlar !
Önce bu işlevi ekleyin (Kredi Verilen: Casper Zandbergen, SwiftUI'den HStack'in Spacer'ına dokunamaz )
extension Spacer {
public func onTapGesture(count: Int = 1, perform action: @escaping () -> Void) -> some View {
ZStack {
Color.black.opacity(0.001).onTapGesture(count: count, perform: action)
self
}
}
}
Ardından aşağıdaki 2 işlevi ekleyin (Kredi Verilen: rraphael, bu sorudan)
extension UIApplication {
func endEditing() {
sendAction(#selector(UIResponder.resignFirstResponder), to: nil, from: nil, for: nil)
}
}
Aşağıdaki işlev, View sınıfınıza eklenecektir, daha fazla ayrıntı için rraphael'deki en üstteki yanıta başvurmanız yeterlidir.
private func endEditing() {
UIApplication.shared.endEditing()
}
Son olarak, artık basitçe arayabilirsiniz ...
Spacer().onTapGesture {
self.endEditing()
}
Bu, herhangi bir boşluk alanını şimdi klavyeyi kapatacaktır. Artık büyük bir beyaz arka plan görüntüsüne gerek yok!
Bu tekniği varsayımsal olarak extension
, şu anda bunu yapmayan TapGestures'ı desteklemek için ihtiyaç duyduğunuz herhangi bir kontrole uygulayabilir ve istediğiniz herhangi bir durumda klavyeyi kapatmak için onTapGesture
işlevi ile birlikte çağırabilirsiniz self.endEditing()
.