2011-01-15 10 views
14

मैं एक आईफोन ऐप पर काम कर रहा हूं और आईफोन ऐप में उपयोगकर्ता यूआईटीएक्स्टव्यू में टाइप कर रहा है। मैं सोच रहा था कि मैं सामान्य रिटर्न कुंजी होने के बजाय कीबोर्ड पर की गई कुंजी कैसे जोड़ सकता हूं और जब आप उस कुंजी पर क्लिक करते हैं तो कीबोर्ड बंद हो जाता है।आईफोन ऐप में पूर्ण कुंजी जो कीबोर्ड को बंद करती है (UITextView के साथ)

धन्यवाद!

उत्तर

33

UITextViewDelegate प्रोटोकॉल में कोई -textViewShouldReturn: विधि नहीं है। यदि आप कुंजीपटल को खारिज करने के लिए वापसी (पूर्ण) कुंजी चाहते हैं, तो संभवतः यूआईटीएक्स्टफिल्ड का उपयोग करना सबसे अच्छा है, UITextView टेक्स्ट की कई पंक्तियों को संपादित करने के लिए है (इसलिए आपको लाइनबैक दर्ज करने का एक तरीका चाहिए)।

तुम सच में जब एक UITextView में रिटर्न कुंजी दबाएं कीबोर्ड ख़ारिज करना चाहते हैं, तो आप शायद कुछ इस तरह कर सकता है:

- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text { 
    if ([text isEqual:@"\n"]) { 
    [textView resignFirstResponder]; 
    return NO; 
    } 
    return YES; 
} 
+0

धन्यवाद! टेक्स्टव्यू का उपयोग करने की आवश्यकता में मुझे कारण यह है कि जिस ऐप पर मैं काम कर रहा हूं वह एक ट्विटर एपीआई है। और यदि उपयोगकर्ता इसे पोस्ट करने से पहले ट्वीट के माध्यम से पढ़ना चाहेगा तो यह उपयोगकर्ता के लिए थोड़ा गड़बड़ होगा। – Tapy

-3

यह रूप में आसान है के रूप में:

- (BOOL)textFieldShouldReturn:(UITextField *)aTextfield { 
    [aTextfield resignFirstResponder]; 
    return YES; 
} 
+0

हाँ, लेकिन है कि कीबोर्ड बंद नहीं करता है। – Tapy

+0

इसके बारे में क्षमा करें। इसे मेरे जवाब में जोड़ा गया। – grahamparks

+10

मुझे लगता है कि सवाल UITextView का जिक्र कर रहा था UITextField –

-5

इसके अलावा स्थापित करने के लिए:

textField.returnKeyType=UIReturnKeyDone; 

अपने पाठ क्षेत्र के प्रतिनिधि को यह जोड़े कुंजीपटल दूर करने के लिए जब यह दबाया है

textField.returnKeyType = UIReturnKeyDone; 

आपको टेक्स्ट फ़ील्ड के प्रतिनिधि को अपनी कक्षा में सेट करने की आवश्यकता है, और ऐसा कुछ करें:

- (BOOL)textFieldShouldReturn:(UITextField *)textField { 
    [textField resignFirstResponder]; 

    return YES; 
} 

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

उम्मीद है कि इससे मदद मिलती है।

+1

वह UITextView को UITextField नहीं पूछता है। – Domness

+1

सवाल का जवाब भी नहीं दे रहा है .. सवाल UITextView के बारे में है। –

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