2011-06-08 3 views
7

जब "पूर्ण" दबाया जाता है तो मुझे पता है कि textViewDidEndEditing: कहा जाता है। इसे कभी-कभी अन्य कार्यों द्वारा भी बुलाया जाता है।टेक्स्ट के बाहर कीबोर्ड पर 'संपन्न' बटन को संभालना ViewDidEndEditing

मुझे एक ऐसी विधि चाहिए जिसे केवल "पूर्ण" दबाया जाता है - विशेष रूप से। मैं कोड के स्निपेट के लिए चारों ओर पढ़ रहा हूं, लेकिन ऐसा कोई नहीं देख रहा है। मैं रास्ते में, मेरे विचार के लिए किसी भी XIB का उपयोग नहीं कर रहा हूं।

क्या यह संभव है?

+0

http://stackoverflow.com/questions/6106761/uitextview-textviewshouldendediting-never-called/6107507#6107507 यह –

उत्तर

1

सबसे पहले, टेक्स्ट फ़ील्डडिड एंड एडिटिंग को तब नहीं कहा जाता जब उपयोगकर्ता डोन बटन टैप करता है। इसे संपादित करने के बाद कुछ भी स्पर्श करने के तुरंत बाद इसे कहा जाता है।

एक विशेष बटन 'संपन्न' होने के लिए आप एक UIBarButtonItem के रूप में एक महत्वपूर्ण हो गया बनाएं और

- (IBAction) doneClicked:(id)sender 

एक IBAction लिख सकते हैं निम्न पंक्ति प्रदान करती हो गया कुंजी के रूप में वापसी कुंजी।

textField.returnKeyType = UIReturnKeyDone; 

आप देख सकते हैं हो गया कुंजी TextFieldDidEndEditing में दबाया गया था ... तुम भी एक और बटन का उपयोग कर सकते हैं, और यह बजाय वापस जाएँ।

+0

हाय लेगोलस देखें, शायद मेरा प्रश्न स्पष्ट नहीं था। मैं दबाए जा रहे कीबोर्ड पर संपन्न बटन की घटना को संभालने में सक्षम होना चाहता हूं। क्या TextViewDidEndEditing का उपयोग किये बिना इस घटना को पकड़ने का कोई तरीका है? बहुत धन्यवाद, कोड –

+0

मेरा अद्यतन उत्तर देखें। – Legolas

+0

@ लेगोलास, आपका पहला कथन गलत है। अन्य दृश्यों को छूने से पाठ क्षेत्र से पहली प्रतिक्रियाकर्ता स्थिति स्वचालित रूप से चोरी नहीं होती है जो वर्तमान में संपादन कर रहा है - यदि यह सत्य था, तो आप कीबोर्ड पर कभी भी कुछ भी टाइप नहीं कर सकते। – jlehr

14

यूआईटीएक्स्टफिल्ड का एक उदाहरण रिटर्न कुंजी दबाए जाने पर अपने प्रतिनिधि को textFieldShouldReturn: संदेश भेज देगा। यदि आप अपने कंट्रोलर को यह संदेश प्राप्त करना चाहते हैं, तो क्या यह संदेश को टेक्स्ट फ़ील्ड में भेजता है, self को तर्क के रूप में पास करता है (या टेक्स्ट फ़ील्ड के प्रतिनिधि आउटलेट को इंटरफेस बिल्डर में नियंत्रक से कनेक्ट करता है) और अपने कंट्रोलर क्लास में निम्न विधि को लागू करता है :

- (BOOL)textFieldShouldReturn:(UITextField *)textField; 

अधिक जानकारी के लिए UITextFieldDelegate प्रोटोकॉल के लिए दस्तावेज़ देखें।

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^