मेरे पास एक UIVIew है जो एक सबव्यूव है और इसमें कई UITextFields हैं। इनमें से एक टेक्स्टफील्ड (जो DATE के लिए है) कीबोर्ड का उपयोग करके संपादन योग्य नहीं होना चाहिए, इसके बजाय मैं एक पॉपपॉवर का उपयोग डेटपिकर के अंदर करता हूं।UIVIew endEditing: हाँ कीबोर्ड को छिपा नहीं है
UIControlEventEditingDidBegin
पहुंचने पर मैं एक विधि चलाता हूं। यह विधि DateTextField पर resignFirstResponder
पर कॉल करती है।
सब कुछ ठीक काम करता है अगर डेटटेक्स्ट फ़ील्ड संपादित करने वाला पहला क्षेत्र है, लेकिन जब एक और टेक्स्टफिल्ड संपादित किया जाता है और निश्चित रूप से कीबोर्ड दिखाता है और फिर डेटफिल्ड को संपादित करने का प्रयास करता है, तो कीबोर्ड छुपा नहीं जाता है और सबकुछ सामान्य हो जाता है लेकिन कीबोर्ड कुछ भी कर रहा है।
मैंने resignFirstResponder
से पहले विधि endEditing:YES
पर कॉल करने का प्रयास किया है लेकिन यह काम नहीं करता है। मैंने और resignFirstResponder
को didEndEditing
टेक्स्ट फ़ील्ड विधि पर चलाने का प्रयास किया है, लेकिन उस कीबोर्ड को प्राप्त करने का कोई तरीका नहीं है।
यहाँ मेरी विधि है:
- (void)showDatePopOver:(id)sender{
[self.view endEditing:YES];
UITextField *textField = (UITextField *)sender;
[sender resignFirstResponder]; // hide keyboard
/** POP OVER LINES**/
}
आपको बहुत धन्यवाद, यह अब काम करता है। मुझे UIControlEventEditingDidBegin को UIControlEventTouchDown – chost
पर ईवेंट को भी बदलना पड़ा, खुशी है कि आप इसे ठीक कर चुके हैं! हैप्पी कोडिंग – chown