Main Contents

[Objective-c] UITextView petite astuce

décembre 11, 2011

Si comme moi vous utilisez un UITextView comme zone de saisie, vous voudriez que l’utilisateur puisse cacher le clavier une fois la saisie terminée.

Et bien, j’ai cherché, et voilà une solution.

Premièrement, définissez le bouton ‘Return Key’ en ‘Done’ dans le menu de l’interface.
Puis définissez votre contrôler de classe comme étant le delegate de votre UITextView.

Puis utilisez ce bout de code :

- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range
 replacementText:(NSString *)text
{
    if ([text isEqualToString:@"\n"]) {
        [textView resignFirstResponder];
        return FALSE;
    }
    return TRUE;
}

Et voilà, le tour est joué 🙂

Catégorie(s): Développement, Objective-C | Comments (3)

3 Comments

  1. jakikiller (1 comments) décembre 12, 2011 @ 9 h 53 min

    C’est plutôt embétant si tu veux faire entrer un long texte par un utilisateur.
    C’est un peu plus nice de faire une barre de ce style non?

    http://www.randomsequence.com/articles/adding-a-toolbar-with-next-previous-above-uitextfield-keyboard-iphone/

  2. kraft (36 comments) décembre 12, 2011 @ 9 h 56 min

    Effectivement !

  3. Vincent Saluzzo (1 comments) janvier 17, 2012 @ 21 h 19 min

    Bah pas forcement, tu peux très bien faire une texte view pour deux lignes ou trois max. A ce moment la, tu as plus de chance de ne pas avoir de retour à la ligne que d’en avoir, auquel cas cette astuce est ‘nice’ !

Leave a comment