IPad despedir teclado sin saber lo que abrió Textfield
-
11-10-2019 - |
Pregunta
¿Hay una manera de hacer un resignFirstResponder
generales para ocultar el teclado, independientemente de lo que el campo de texto / foto / etc llama?
La razón es que tengo un montón de campos de texto en mi opinión y no quiero tener que resignFirstResponder
para todos los campos de texto para ocultar el teclado. Sólo quiero un general
[self resignFirstResponder]
.
¿Alguna idea?
Gracias de antemano
Solución
La forma más sencilla de hacer esto es tener un método para cada vez que desee ocultar el teclado que es similar al siguiente:
-(void)dismissKeyboard {
[firstField becomeFirstResponder];
[firstField resignFirstResponder];
}
Otros consejos
Yo sé que esto ya ha sido marcado como respondida, pero para aquellos que se ejecutan en este como lo hice sólo puede utilizar el siguiente método en la vista que contiene los campos de texto.
- (BOOL)endEditing:(BOOL)force
Este método se ve en la vista actual y su jerarquía subvista para el campo de texto que es actualmente el primer nivel de respuesta. Si encuentra uno, se pide que el campo de texto a renunciar como primer nivel de respuesta. Si el parámetro de fuerza se establece en YES, el campo de texto está ni siquiera preguntó; se ve obligado a renunciar. UIView Documentación
[self.view endEditing:YES];
se ocultará teclado cuando se hace clic en la vista.
Se puede ocultar el teclado sin ninguna referencia a UITextField / UITextView con ayuda de continuación de código:
[[[UIApplication sharedApplication] keyWindow] endEditing:YES];
Esto descartar el teclado globalmente sin la referencia.
espero que esto le ayudará.
Puede comprobar estas preguntas:
- ¿es posible hacer que el teclado del iPhone invisible / retire sin renunciar primero en responder?
- ocultar teclado de entrada en el iPhone sin saber de primera respuesta / a>
En resumen: Puede llamar becomeFirstResponder en alguna otra cosa que usted elija. Podría ser un UIViewController o una UIView. He tenido un problema similar antes, que necesitaba para hacer mi teclado desaparece cuando estaba empujando mi vista posterior del controlador a su llamador, sin saber lo que era el campo de texto de primera respuesta. Luego, el viewWillAppear de mi controlador de vista lo que tuviera que volver atrás, me llamaron [auto becomeFirstResponder] y el teclado de la vista empujado había desaparecido. Debido a este hecho cualquier campo de texto era que se suelte siendo el primer nivel de respuesta ??p>
En mi propia aplicación cuando no tenía más de un campo de texto y me gustaría hacer que desaparezca el teclado sin tener en cuenta cuál de los campos llamaron, me gustaría simplemente escribió un método y dejar que todos y cada uno de ellos resignFirstResponder
.
Me asumir que como programador, usted debe tener el conocimiento claro cómo muchos campos de texto son en su controlador de vista y cómo se puede acceder a ellos, de lo contrario va a llegar en mal estado y aplicación no va a quedar bien ... :-P