UITextField वापसी कुंजी पर एक क्रिया कैसे जोड़ें?


91

मेरे विचार में एक बटन और टेक्स्ट टेक्स्टफील्ड है। जब मैं टेक्स्टफील्ड पर क्लिक करता हूं तो एक कीबोर्ड दिखाई देता है और मैं टेक्स्टफील्ड पर लिख सकता हूं और मैं कीबोर्ड को बटन पर क्लिक करके खारिज करने में भी सक्षम हूं:

[self.inputText resignFirstResponder];

अब मैं कीबोर्ड की वापसी कुंजी को सक्षम करना चाहता हूं। जब मैं कीबोर्ड पर प्रेस करूंगा कीबोर्ड गायब हो जाएगा और कुछ हो जाएगा। मैं यह कैसे कर सकता हूँ?


1
संभावित डुप्लिकेट: stackoverflow.com/questions/4761648/…
जीतना

जवाबों:


186

सुनिश्चित करें "स्वयं" के साथ सदस्यता लें UITextFieldDelegateऔर इनपुट शुरू करें

self.inputText.delegate = self;

"आत्म" के लिए निम्न विधि जोड़ें:

- (BOOL)textFieldShouldReturn:(UITextField *)textField {
    if (textField == self.inputText) {
        [textField resignFirstResponder];
        return NO;
    }
    return YES;
}

या स्विफ्ट में:

func textFieldShouldReturn(_ textField: UITextField) -> Bool {
    if textField == inputText {
        textField.resignFirstResponder()
        return false
    }
    return true
}

11

स्विफ्ट 3.0 में विस्तार शैली के साथ

सबसे पहले, अपने पाठ क्षेत्र के लिए प्रतिनिधि सेट करें।

override func viewDidLoad() {
    super.viewDidLoad()
    self.inputText.delegate = self
}

फिर UITextFieldDelegateअपने दृश्य नियंत्रक के विस्तार के अनुरूप

extension YourViewController: UITextFieldDelegate {
    func textFieldShouldReturn(_ textField: UITextField) -> Bool {
        if textField == inputText {
            textField.resignFirstResponder()
            return false
        }
        return true
    }
}

4

जबकि अन्य उत्तर सही ढंग से काम करते हैं, मैं निम्नलिखित कार्य करना पसंद करता हूं:

ViewDidLoad () में, जोड़ें

self.textField.addTarget(self, action: #selector(onReturn), for: UIControl.Event.editingDidEndOnExit)

और फ़ंक्शन को परिभाषित करता है

@IBAction func onReturn() {
    self.textField.resignFirstResponder()
    // do whatever you want...
}

-1

जब एक कीबोर्ड से किया गया बटन टैप किया जाता है तो UITextField से भेजे गए "PrimaryActionTriggered" UIEvent के लिए लक्ष्य-क्रिया UIKit तंत्र का उपयोग करें।

textField.addTarget(self, action: Selector("actionMethodName"), for: .primaryActionTriggered)
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.