UITextField का संपादन करते समय उपयोगकर्ता द्वारा "वापसी" कीबोर्ड बटन दबाने पर मैं कैसे पता लगा सकता हूं? उपयोगकर्ता को "रिटर्न" बटन दबाने पर मुझे कीबोर्ड को खारिज करने के लिए ऐसा करने की आवश्यकता है।
धन्यवाद।
UITextField का संपादन करते समय उपयोगकर्ता द्वारा "वापसी" कीबोर्ड बटन दबाने पर मैं कैसे पता लगा सकता हूं? उपयोगकर्ता को "रिटर्न" बटन दबाने पर मुझे कीबोर्ड को खारिज करने के लिए ऐसा करने की आवश्यकता है।
धन्यवाद।
जवाबों:
- (BOOL)textFieldShouldReturn:(UITextField *)textField {
[textField resignFirstResponder];
return NO;
}
स्टोरीबोर्ड में प्रतिनिधि को सेट करने के लिए मत भूलना ...
self.yourTextField.delegate = self;
। यहां तक कि कई टेक्स्ट फ़ील्ड भी काम करते हैं।
प्रतिनिधिमंडल की आवश्यकता नहीं है, यहाँ एक लाइनर है:
- (void)viewDidLoad {
[textField addTarget:textField
action:@selector(resignFirstResponder)
forControlEvents:UIControlEventEditingDidEndOnExit];
}
अफसोस की बात है कि आप इसे सीधे अपने स्टोरीबोर्ड में नहीं कर सकते हैं (आप उन कार्यों को नियंत्रण से कनेक्ट नहीं कर सकते हैं जो उन्हें स्टोरीबोर्ड में फेंकते हैं), लेकिन आप इसे मध्यस्थ कार्रवाई के माध्यम से कर सकते हैं।
UIControlEventEditingDidEndOnExit
यदि textFieldShouldReturn:
प्रतिनिधि विधि वापस आती है (पाठ क्षेत्र से पहले इस्तीफा दिए बिना) तो उस घटना को भेजा जाएगा ।
YES
इस विधि के लिए लौटना पड़े ।
स्विफ्ट 3.0
override open func viewDidLoad() {
super.viewDidLoad()
textField.addTarget(self, action: #selector(enterPressed), for: .editingDidEndOnExit)
}
enterPressed () फ़ंक्शन में आपके द्वारा किए जाने वाले सभी व्यवहार हैं
func enterPressed(){
//do something with typed text if needed
textField.resignFirstResponder()
}
अब आप भेजे गए ईवेंट 'डिड एंड ऑन एक्जिट' का उपयोग करके स्टोरीबोर्ड कर सकते हैं।
आपके विचार में नियंत्रक उपवर्ग:
@IBAction func textFieldDidEndOnExit(textField: UITextField) {
textField.resignFirstResponder()
}
वांछित टेक्स्टफील्ड के लिए अपने स्टोरीबोर्ड में:
- (BOOL)textFieldShouldReturn:(UITextField *)txtField
{
[txtField resignFirstResponder];
return NO;
}
जब एंटर बटन पर क्लिक किया जाता है तो यह डेलीगेट विधि कहलाती है। आप इस डेलीगेट विधि से रिटर्न बटन पर कब्जा कर सकते हैं।