2011-08-23 15 views
5

estoy usando en mi programáticamente hecho UITextFieldtextfieldDidEndEditing no se dispara cuando termino edición y elegir otro uicontrol de campo de texto

-(BOOL)textFieldShouldEndEditing:(UITextField *)textField 
{ 
[textField resignFirstResponder]; 
return YES; 
} 

para atrapar un evento que mi campo de texto se realiza eventos editing.In que cambie el foco de un campo de texto a otro o presionar regresar, el evento se dispara, pero si estoy en un campo de texto y hago clic en otro uicontrol como un botón de él, este método no se activa. ¿Qué sucede aquí? Necesito atrapa cada evento cuando un usuario ha hecho la edición de un campo de texto. He intentado con textfielddidendediting también, pero este evento es missed..How para superar este

Respuesta

6

cuando se hace clic en el botón de código en .write - método (IBAction)

[yourTextField resignFirstResponder]; entonces se llamará a ese método.

- (IBAction) yourBtnClicked:(id)sender 
{ 
    [textField resignFirstResponder]; 
} 
+1

Ok, pero la forma de captura que es el 'textField' si está utilizando a medida' UITableViewCell'? – new2ios

+0

Declara tu variable UITextField como parámetro de clase – Kaptain

2

Lo que sucede es que cuando se está editando un campo de texto y luego hacer clic en un UIButton o cualquier otra cosa a continuación no serán llamados los métodos de delegado para UITextField.

Para eso, tendrá que escribir el código para ese campo de texto dentro del código para ese botón.

Todo lo que necesita es,

//inside your btn action 
    - (IBAction) btnPressed : (id) sender 
    { 
     [self textFieldDidEndEditing:myTextField]; 
     //remaining code goes here.... 
    } 
Cuestiones relacionadas