इस विधि आप के लिए अनुमति देता कीबोर्ड छिपाने पर स्पैसर !
सबसे पहले इस फ़ंक्शन को जोड़ें (क्रेडिट दिया गया: कैस्पर ज़ैंडबर्गेन , स्विफ्टुई से स्पेसर के स्टेक्स में टैप नहीं कर सकते )
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
}
}
}
इसके बाद अगले 2 कार्य जोड़ें (क्रेडिट गिव टू रिप्रेल, इस सवाल से)
extension UIApplication {
func endEditing() {
sendAction(#selector(UIResponder.resignFirstResponder), to: nil, from: nil, for: nil)
}
}
नीचे दिए गए फ़ंक्शन को आपके दृश्य वर्ग में जोड़ा जाएगा, बस अधिक विवरण के लिए यहां से शीर्ष उत्तर को रैफेल से संदर्भित करें।
private func endEditing() {
UIApplication.shared.endEditing()
}
अंत में, अब आप बस कॉल कर सकते हैं ...
Spacer().onTapGesture {
self.endEditing()
}
यह किसी भी स्पेसर क्षेत्र को अब कीबोर्ड को बंद कर देगा। अब एक बड़े सफेद पृष्ठभूमि दृश्य के लिए कोई ज़रूरत नहीं है!
आप extension
TapGestures का समर्थन करने की आवश्यकता वाले किसी भी नियंत्रण की इस तकनीक को काल्पनिक रूप से लागू कर सकते हैं जो वर्तमान में ऐसा नहीं करते हैं और किसी भी स्थिति में कीबोर्ड को बंद करने की इच्छा के onTapGesture
साथ संयोजन में फ़ंक्शन को कॉल करते हैं self.endEditing()
।