2013-01-24 16 views
16

UITextFieldbecomeFirstResponder पर मुझे कैसे सूचित किया जा सकता है?जब UITextField बन जाता है अधिसूचित हो जाता है फर्स्ट रेस्पॉन्डर

मैं द्वारा becomeFirstResponder

मैं अधिसूचित या एक घटना जब कोई उपयोगकर्ता इस पाठ क्षेत्र पहले प्रत्युत्तर बनाने संभाल पाना चाहते हैं isFirstResponder या पहले प्रत्युत्तर बनने के लिए करने के लिए सेट की तरह देख सकते हैं।

धन्यवाद।

उत्तर

30

आप टेक्स्ट फ़ील्ड के प्रतिनिधि आ जाने की जरूरत है और यह वैकल्पिक प्रतिनिधि विधि को लागू करेगा:

- (void)textFieldDidBeginEditing:(UITextField *)textField; 
11

UITextFieldDelegate विधि textFieldDidBeginEditing: को लागू करने के अलावा, आप UITextFieldTextDidBeginEditingNotification अधिसूचना के लिए रजिस्टर कर सकते हैं।

सूचना विधि हो सकता है:

- (void)someTextFieldDidBeginEditing:(NSNotification *)notification { 
    UITextField *textField = (UITextField *)notification.object; 
} 
0

लिए OSX आप जब NSControlTextDidBeginEditingNotification पर निर्भर साइड इफेक्ट होने बटन के बारे में पता होना चाहिए।

जब आप संपादन शुरू करते हैं, कुछ बटन दबाते हैं, और टेक्स्ट फ़ील्ड को फिर से शुरू करना शुरू करते हैं, तो आपको संपादन को फिर से शुरू करने पर दूसरा NSControlTextDidBeginEditingNotification नहीं मिलेगा।

यदि यह व्यवहार किसी समस्या का कारण बनता है, तो UITextFieldTextDidChangeNotification एक विकल्प हो सकता है।

2

प्रतिनिधि निश्चित रूप से जाने का तरीका है। दुर्भाग्यवश, मेरी स्थिति में मैं इसका उपयोग नहीं कर सका, क्योंकि नियंत्रक मेरे यूआईटीएक्स्टफाल्ड सबक्लास का प्रतिनिधि था और मुझे इसके प्लेसहोल्डर टेक्स्ट को संशोधित करने की आवश्यकता थी। इसके बजाय मैं - (BOOL)canBecomeFirstResponder; & - (BOOL)resignFirstResponder; विधियों को ओवरराइड करता हूं। सुपर कॉल करना सुनिश्चित करें।

+0

हाँ, आपकी टिप्पणी को हल करने के लिए याद रखने के लिए आपकी टिप्पणी मेरी समस्या हल हो गई है। –

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

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