Tocar entre UITextFields en iOS7

Cuando se selecciona un UITextField y se muestra un keyboard, si UITextField otras partes de la vista, el keyboard desaparecerá.

Si UITextField otro UITextField , el keyboard permanece encendido, el primer campo de text es deseleccionado y no ocurre nada. Luego necesito tocar el otro UITextFIeld nuevamente para que suceda la selección y aparezca un keyboard.

¿Hay alguna manera de hacer que un segundo UITextField sea accesible de inmediato cuando se selecciona un primer UITextField ?

Si vuelve a cargar la vista de tabla en textFieldDidEndEditing , romperá la selección de esta manera. No hagas eso

pruébelo, presione otra vista debe llamar a continuación fn.

 -(void)disappearKey{ [self.view endEditing:YES]; } 

después de que el keyboard desaparezca, Toque cualquier campo de text, aparecerá el keyboard.

En primer lugar, creo que es un error que el keyboard no se descarta y se abre de nuevo al tocar en otro UITextField o UITextView. Debería ser informado y Apple debería solucionarlo.

Al utilizar los methods de delegado del campo de text y registrarse para la notificación del keyboard, debería ser posible realizar un seguimiento manual si el usuario tocó otro campo de text y el keyboard no se cerró ni volvió a abrir. Como mínimo, debería ser capaz de detectar cuando esto sucede y cerrar el keyboard manualmente mediante [textField resignFirstResponder];

La notificación del keyboard es la siguiente:

 UIKeyboardWillShowNotification UIKeyboardDidShowNotification UIKeyboardWillHideNotification UIKeyboardDidHideNotification 

Estoy seguro de que conoces los methods de UITextfield y de vista de text.

  – textFieldShouldBeginEditing: – textFieldDidBeginEditing: – textFieldShouldEndEditing: – textFieldDidEndEditing: 

No estoy en un proyecto activo en este momento, así que no estoy seguro de si simplemente ignoré el problema pero no recuerdo que esto me haya pasado a mí.

  • puedes usar BSKeyboardControls . Solo vea la demo y decida usarla o no.

  • o puede hacerlo, debe establecer la label en secuencia en cada campo de text
    en uiview luego usa el siguiente código.

     -(BOOL)textFieldShouldReturn:(UITextField*)textField { NSInteger nextTag = textField.tag + 1; UIResponder* nextResponder = [textField.superview viewWithTag:nextTag]; if (nextResponder) { [nextResponder becomeFirstResponder]; } else { [textField resignFirstResponder]; } return NO; }