7
votes

Fonction de bouton du clavier Xcode iOS

Je ne peux tout simplement pas faire le bouton "Terminé" pour quitter le clavier.

J'ai utilisé cela dans mon fichier contrôleur.h fichier xxx

et ceci pour mon Fichier contrôleur.m xxx

et je suis mélangé dans le câblage de la partie .xib.


2 commentaires

Je pense que vous devez avoir oublié de définir délégué pour votre Textfield.


post similaire sur Stackoverflow, suivez-le. Stackoverflow.com/questions/2828826/... < / a>


3 Réponses :


23
votes

Rendre le contrôleur A déléguée de l'UITEXTFIELD / UITEXTVIEW dans ib ou à partir de code comme textfield.delegate = auto; code>

édité: Pour cela, vous devez déclarer le contrôleur un délégué de UitextFieldDelegate / uitextviewelegate comme p> xxx pré>

, puis remplace la méthode: p> xxx pré>

Pour UITEXTFIELD et P>

-(BOOL)textViewShouldEndEditing:(UITextView *)textView{
    [textView resignFirstResponder];
    return YES;
}


2 commentaires

Controller.h doit également déclarer qu'il adopte le protocole Uitextfieldelegate.


@Marco merci. Édité la réponse.



1
votes

Dans votre fichier .xib, cliquez avec le bouton droit de la souris sur votre vue texte, faites-le glisser vers «Propriétaire du fichier», puis cliquez sur «Délégué». Devrait fonctionner maintenant?

EDIT: OMOPS, Désolé, je suis un idiot, faites ce que cet autre gars dit. Si vous ne savez pas comment définir le délégué en code, vous pouvez le faire mon chemin dans IB.


1 commentaires

Je fixe le délégué au code, mais j'ai également dû connecter les champs de texte de l'IB comme vous le suggérez, alors merci d'avoir publié cette réponse.



0
votes

Permettez-moi de faire ma première contribution: Si vous avez plusieurs champs de texte, regroupez-les dans une @property (forte, nonatomic)

*. H p> xxx pré>

*. M P>

-(BOOL)textFieldShouldReturn:(UITextField *)boxes
    {
        for (UITextField *boxes in collectingData) {
        [boxes resignFirstResponder];
    }
    return YES;

}


0 commentaires