Pregunta

¿Cómo puedo descartar el teclado cuando el usuario hace clic en un botón? Un breve ejemplo para una mejor comprensión: el usuario edita algo de texto en algunos campos de texto y al final no hace clic en "hecho" o algo más en el teclado, pero hace clic en un botón "Guardar" mientras el teclado todavía se muestra . Entonces, ¿cómo puedo descartar ahora el teclado?

Gracias. Saludos, Daniel

¿Fue útil?

Solución

En Button Action Write,

if([textField isFirstResponder]){
  [textField resignFirstResponder];
}

Si hay más campos de texto, obtenga la referencia actual de TextField cada vez que se inicia la edición, y renuncie a su respondedor en la acción del botón.

Otros consejos

También puedes llamar [view endEditing:YES] en cualquier vista sobre el campo de texto en la jerarquía. Esto es útil si no está seguro de qué campo de texto tiene el estado del primer respondedor. También opcionalmente permite que un delegado de campo de texto detenga la acción (devolviendo NO de FORDEDENDITIVE :) Lo cual es bueno si está utilizando un delegado para hacer validación en los campos.

Si tiene múltiples campos de texto y no sabe cuál es el primer respondedor (o simplemente no tiene acceso a los campos de texto desde donde esté escribiendo este código) puede llamar endediting: en la vista principal que contiene los campos de texto .

En Swift, en el controlador de vista relacionado, agregue esta línea a la función del botón:

self.view endEditing(true)

Además de la respuesta de Sripriya, tenga aquí la versión de estilo Swift 2:

if numberTextField.isFirstResponder() {
    numberTextField.resignFirstResponder()
}

Por favor, disfruta...

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