Cómo detectar cuándo el tipo de keyboard pnetworkingeterminado de iOS cambia de text a numbers

Hay muchas publicaciones acerca de notificar al usuario cuando el tipo de keyboard cambia de cosas como la numeración al valor pnetworkingeterminado. Esta pregunta trata de saber cuándo el usuario realmente hace clic en el button [123] o el button [ABC] en el keyboard pnetworkingeterminado … básicamente, quiero saber cuándo esta pantalla

introduzca la descripción de la imagen aquí

cambios a esta pantalla

introduzca la descripción de la imagen aquí

probando esto:

 -(void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText { NSLog(@"::::::: this is text field type %d", searchBar.keyboardType); 

naturalmente, siempre devuelvo 0 que es el tipo de key pnetworkingeterminado … ya que se supone que ambos tienen el mismo tipo de keyboard.

Creo que no es posible detectar el cambio de tipo de keyboard. Tal vez pueda explicar su problema o qué desea lograr para que podamos encontrar otra solución a su problema.

Saludos

Configuración del keyboard para objects de text Usted configura los attributes del keyboard directamente a través de los objects de text de su aplicación. Las classs UITextField y UITextView se ajustan al protocolo UITextInputTraits, que define las properties para configurar el keyboard. Si configura estas properties mediante progtwigción o en la window del inspector Interface Builder, el sistema mostrará el keyboard del tipo designado.

 @property(nonatomic) UIKeyboardType keyboardType 

No hay API para detectar Teclado cambiado: Referencia de class UITextField

La definición de keyboardType forma parte del protocolo UITextInputTraits. Configurar un tipo de keyboard, por ejemplo, ASCII, es básicamente el keyboard estándar que muestra la parte de letra del keyboard. Si configura keyboardType en UIKeyboardTypeNumbersAndPunctuation, obtendrá el mismo keyboard que ASCII espera que el keyboard se muestre primero con la parte numérica del keyboard.

En resumen, ASCII y los numbers y el keyboard de puntuación son los mismos, keyboard de tres pantallas que se presentan de dos maneras diferentes.

Puede detectar cambios en el tipo de keyboard en textDidChange. Si es así, el usuario debe seleccionar el button del keyboard y puede verificar la propiedad keyboardType para un UITextField:

KeyboardType: UIKeyboardTypeNumberPad o UIKeyboardTypeDefault

Entonces, puede save el tipo actual, detectar el cambio de keyboard y comparar el nuevo tipo de keyboard con el primero.