sensibilidad - Cómo hacer que el teclado desaparezca en el simulador de iphone
sensibilidad pantalla iphone 6 (3)
Tengo un cuadro de entrada de texto en mi aplicación de iPhone, cuando lo tocas en el simulador, aparece el teclado. Pero no hay forma de deshacerse de eso. Otras páginas web brindan soluciones, sin explicar por qué deberían funcionar, y no funcionan para mí. Uno dice que haga que el delegado del cuadro de texto pase a la vista y luego llame a resignfirstresponder en el objeto, pero nunca se llama. ¿Alguna sugerencia? ¿Alguien puede explicar lo que está sucediendo realmente? Puedo resolverlo yo mismo si supiera cuál era el paradigma de diseño ...
¿Tal vez debería simplemente poner un botón "ir" para que tenga algo para alejar el foco del campo de texto?
Una forma de hacerlo es establecer un objeto como delegado en el campo de texto e implementar
- (BOOL)textFieldShouldReturn:(UITextField *)textField
en el que llamas [textField resignFirstResponder]
Esto hará que el teclado desaparezca cuando presionen el botón regresar / ir / listo (lo que sea que haya configurado la tecla del teclado inferior derecha).
Consulte la referencia UITextFieldDelegate para obtener más información.
- (BOOL)textFieldShouldReturn:(UITextField *)textField
en su delegado se llama cuando se presiona el botón de retorno.
Desea llamar [textField resignFirstResponder]
y luego devolver YES
. Eso debería hacer el truco. También asegúrese de que el delegado esté configurado. En caso de duda, agregue un punto de interrupción o NSLog
y verifique.
Para descartar el teclado puede usar Delegado de TextField.
Para usar esto, sigue estos pasos ...
1. En tu viewController. h agregue la declaración de delegado de esta manera:
@interface ViewController : UIViewController
2. En su viewController. m llamar a este método: <UITextFieldDelegate>
{
}
- (BOOL)textFieldShouldReturn:(UITextField *)textField
3. Luego escribe un código como este:
- (BOOL)textFieldShouldReturn:(UITextField *)textField {
[textField resignFirstResponder];
return YES;
}
4. El paso final es establecer el delegado de textField:
- (void)viewDidLoad {
[super viewDidLoad];
self.textField.delegate = self;
}