Pregunta

- (void)textFieldDidBeginEditing:(UITextField *)textField {
    [textField selectAll:self];
}
- (BOOL)textFieldShouldReturn:(UITextField *)textField {
    [textField resignFirstResponder];
    return YES;    
}

En lo anterior, el campo de texto selecciona correctamente, pero cuando regrese del teclado y toque el campo de texto por segunda vez consecutivamente, no selecciona el texto.Si no lo uso consecutivamente o si deselecciono el texto antes de regresar desde el teclado, el siguiente enfoque de ese campo de texto selecciona el texto correctamente.

¿Cómo puedo seleccionar el texto en la caja mencionada?

¿Fue útil?

Solución

He encontrado una solución perfecta (invocar selectAll en Siguiente Runloop):

- (void)textFieldDidBeginEditing:(UITextField *)textField
{
    [textField performSelector:@selector(selectAll:) withObject:textField afterDelay:0.f];
}

Otros consejos

Resolví este problema usando Grand Central Dispatch.Puede envolver [textField selectAll:self]; con una llamada dispatch_async y dispatch_get_main_queue() como un primer parámetro.

    dispatch_async(dispatch_get_main_queue()){
        // ... code you want to run on the main queue goes here
    }

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top