Descartar el primer respondedor / keyboard con múltiples campos de text

Como en serio después de pasar por esto …

¿Manera fácil de rechazar el keyboard?

… Tengo varios TextFields y algunos TextViews . ¿No hay una manera de tener un lote o grupo de despedida de First Responder para todos los campos de text? ¿Debo hacer un método para cada campo? ¿Tal vez pasé por alto algo en ese enlace?

Tal vez pueda seguir algo como esto:

https://stackoverflow.com/questions/3282837/problem-with-multiple-textfields-to-make-the-keyboard-dissapear

¿Tendría sentido esto último? Gracias por adelantado.

= – = – = – = – = – = – = – = – = – = – = – = – = – = – = – = – = – = – = – = – = – = – = – = – = – = –

Me lo imaginé….

 Controller.h @interface Controller : UIViewController <UITextFieldDelegate> { IBOutlet UITextField *clickedDone; } @property (nonatomic, retain) IBOutlet UITextField *clickedDone; Controller.m #import "Controller.h" @implementation Controller @synthesize clickedDone; - (void)viewDidLoad { [super viewDidLoad]; [clickedDone setDelegate:self]; } - (BOOL)textFieldShouldReturn:(UITextField *)textField { [textField resignFirstResponder]; return YES; } 

 clickedDone.returnKeyType = UIReturnKeyDone; // in viewDidLoad - (BOOL)textFieldShouldReturn:(UITextField *)textField { [textField resignFirstResponder]; return YES; } 

La vista tiene una endEditing: método que puede usar. Dicen los docs

Hace que la vista (o uno de sus campos de text embeddeds) renuncie al estado del primer respondedor.

En su controller de vista, puede llamar:

 [[self view] endEditing:YES]; 

Es muy fácil ahora. Puedes seguir un enfoque diferente dependiendo de tus casos de uso. En mi caso tenía varios campos de text en UITableViewController. Lo que hice es esto:

 - (void)viewWillDisappear:(BOOL)animated { [super viewWillDisappear:animated]; [self.view endEditing:YES]; } 

La mejor respuesta es:

  1. Se agregó el protocolo UITextFieldDelegate a su viewcontroller @interface ViewController: UIViewController
  2. En su xib, select textField, en su sección Ulitlites en el panel lateral derecho de XCode en la subsección de "Connections Inspector", enlace delegado textField con el "File's Owner" de .xib.
  3. En la implementación de Viewcontroller, incluya la function follwing

 - (BOOL)textFieldShouldReturn:(UITextField *)textField { [textField resignFirstResponder]; return YES; }