2010-11-26 3 views
13

मैं अपने आवेदन में -(void)textFieldDidBeginEditing:(UITextField *)sender का उपयोग कर रहा हूं। जब मैं टेक्स्टफील्ड का चयन करता हूं तो इसे तब नहीं कहा जाता है। यहाँ कोड है ...- (शून्य) textFieldDidBegin संपादन: (UITextField *) प्रेषक .. जब मैं टेक्स्टफील्ड का चयन करता हूं तो यह फ़ंक्शन नहीं कहा जाता है?

-(void)textFieldDidBeginEditing:(UITextField *)sender{ 
    if([sender isEqual:txtName])//txtName is the IBOutlet of the UITextField 
    { 
     NSLog(@"Name"); 
    } 
    else{ 
     NSLog(@"NO_Name"); 
    } 
} 
+5

आपने पहले से ही 10 प्रश्न पूछे और अब तक कोई जवाब नहीं स्वीकार किया है ... कृपया अपने प्रश्नों के उत्तर स्वीकार करें ताकि लोग आपकी मदद करने के इच्छुक हों। – DarkDust

उत्तर

26

आप इस तरह वर्तमान दृश्य नियंत्रक से UITextField के उदाहरण के प्रतिनिधि सेट किया है:

textField.delegate = self; (स्व इसका मतलब है कि कॉलबैक टेक्स्टफिल्ल्डडिडबिनिंग एडिटिंग ओवरराइड है)

+0

इसकी कामकाजी सनीव ..., आपकी बहुमूल्य टिप्पणी के लिए धन्यवाद – Chinju

4

आप ज फ़ाइल में UITextFieldDelegate शामिल करना चाहिए

@interface yourViewController : UIViewController <UITextFieldDelegate> 
1

आपको अपने .h में UITextFieldDelegate शामिल करना होगा। फ़ाइल, और भी जोड़ने YourTextField.delegate = self

11

बनाओ 2 आसान चरणों

1 पूरा करना सुनिश्चित करें - प्रतिनिधि

yourTextField.delegate = self

सेट करें - प्रतिनिधि UITextFieldDelegate

@interface yourViewController : UIViewController <UITextFieldDelegate>

2 को लागू करें यदि आपके पास आपके दृश्य में कई टेक्स्ट फ़ील्ड हैं, तो आप इस

for (id subView in self.view.subviews) 
    { 
     if ([subView isKindOfClass:[UITextField class]]) { 
      [subView setDelegate:self]; 
     } 
    } 

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

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