7
votes

Rejeter le premier répondeur / clavier avec plusieurs champs de texte

J'aime sérieusement après avoir traversé cette ...

moyen facile de rejeter le clavier? p>

... J'ai plusieurs Fields code> et quelques textviews code>. N'y a-t-il pas un moyen d'avoir un lot ou un groupe de rejet du premier répondeur pour tous les champs de texte? Aurai-je besoin de faire une méthode pour chaque champ? Peut-être que j'ai négligé quelque chose dans ce lien? P>

Peut-être que je peux suivre quelque chose comme ceci: p>

https://stackoverflow.com/questions/3282837/problem-with-multiple-textfield-à-make-the-keyboard-Dissapear

aurait-il un sens? Merci d'avance. P>

= - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - P>

Je pensais ... P>

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;    
}


2 commentaires

Un seul champ est le premier répondeur, vous devez seulement résigner celui-ci.


Le lien vers l'autre alors question est mort.


4 Réponses :


31
votes

La vue dispose d'une méthode de la méthode que vous pouvez utiliser. Les docs disent

provoque la vue (ou l'un de ses champs de texte intégrés) pour démissionner du premier type de répondeur.

Dans votre contrôleur d'affichage, vous pouvez simplement appeler: xxx


2 commentaires

Merci! Votre solution est la meilleure, spécialement, quand il y a beaucoup de champs à gérer.


C'est la meilleure solution. Merci!



5
votes
clickedDone.returnKeyType = UIReturnKeyDone;  // in viewDidLoad

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

0 commentaires

1
votes

meilleure réponse est:

  1. Ajout du protocole UitextFieldelegate à votre mode de vue @interface ViewController: UIVIEWCONTROLLER
  2. Dans votre XIB, sélectionnez le champ de texte, dans votre section ulitlites de la droite Vilette latérale de Xcode dans le sous-section de "Inspecteur de connexions", Liez le délégué de Textfield avec le «propriétaire du fichier» de .xib.
  3. Dans votre implémentation de ViewController, incluez le Follwing
    xxx

0 commentaires

2
votes

C'est très facile maintenant. Vous pouvez suivre une approche différente en fonction de vos cas d'utilisation. Dans mon cas, j'avais plusieurs champs de texte dans UitabilViewController. Ce que j'ai fait est celui-ci: xxx


0 commentaires