Pregunta

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 manera de deshacerse de él. Otras páginas web ofrecen soluciones, sin explicar por qué deberían funcionar, y no funcionan para mí. Uno dice que haga que el delegado del cuadro de texto sea su vista y luego llame a resignfirstresponder en el objeto, pero nunca se llama. ¿Alguna sugerencia? ¿Alguien puede explicar lo que realmente está pasando? Puedo averiguarlo yo mismo si supiera cuál es el paradigma de diseño ...

Tal vez debería simplemente poner un " ir " botón, así que tengo algo para alejar el foco del campo de texto?

¿Fue útil?

Solución

Una forma de hacerlo es establecer un objeto como delegado en el campo de texto e implementarlo

- (BOOL)textFieldShouldReturn:(UITextField *)textField

en el que llama [textField resignFirstResponder]

Esto hará que el teclado desaparezca cuando presione el botón de regresar / ir / listo (sea lo que sea que configuró la tecla de teclado inferior derecha).

Vea el

Otros consejos

Para cerrar el teclado, puede usar TextField Delegate.

Para usar esto sigue estos pasos ...
1. En viewController. h agregue la declaración de delegado de esta manera:     

@interface ViewController : UIViewController <UITextFieldDelegate> {
    }
2. En su viewController. m llame a este método:     
- (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;
    }

- (BOOL) textFieldShouldReturn: (UITextField *) textField en su delegado se llama cuando se presiona el botón de retorno.

Desea llamar a [textField resignFirstResponder] y luego devolver YES . Eso debería hacer el truco. También asegúrese de que el delegado está establecido. En caso de duda, agregue un punto de interrupción o NSLog y verifique.

scroll top