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 onTapGestureişlevi ile birlikte çağırabilirsiniz self.endEditing().