ios swift keyboard inputview

Cambiar un inputView personalizado para el teclado estándar en iOS



swift keyboard (2)

Tengo un inputView personalizado para un campo de texto en particular, y funciona bien. Sin embargo, no puedo discernir cómo descartar la vista y recuperar el teclado normal. (Tengo un botón SWAP justo al lado del TextField.) Intenté configurar el inputView del campo de texto como nulo, pero eso no hizo nada.

No necesito un teclado personalizado completo, pero necesito más que una vista de Accesorio sobre el teclado, por lo que estoy probando esta ruta. Necesito unos 20 botones personalizados además del teclado normal, y no me gusta la idea de que una gran vista de accesorios ocupe tanto espacio.

También preferiría no requerir que el usuario instale inicialmente un teclado personalizado completo antes de poder usar la aplicación.

Muchas gracias por cualquier sugerencia.


Creo que probablemente tengas que hacer esto:

  1. Llame a resignFirstResponder en el UITextField
  2. Después de que la animación termine, configure su inputView a nil
  3. Llame a becomeFirstResponder en el campo de texto

La duración de la animación del teclado se envía en el diccionario userInfo en las notificaciones de presentación del teclado.


Además de la respuesta aceptada, puede usar reloadInputViews() (y es menos probable que sufra problemas técnicos de animación como resultado de las llamadas a resignFirstResponder, becomeFirstResponder):

  1. yourTextField.inputView = nil;
  2. yourTextField.reloadInputViews();

Aquí hay más información en los documentos de Apple .