2013-08-31 5 views
8

J'ai un UITextView qui a son délégué mis à mon contrôleur de vuesavoir quand le curseur est déplacé (UITextView)

Je voudrais votre aide pour trouver comment savoir, grâce à des méthodes de délégués, sous-classement, sélecteurs et quoi non, quand le curseur est déplacé.

J'ai essayé -textViewDidChange et -textViewDidChangeSelection parmi toutes les autres méthodes de délégués, mais ils ne sont pas appelé lorsque le curseur a été déplacé dans le textview ...

Alors, comment puis-je découvrir lorsque le caret est déplacé dans mon Cela peut sembler une question peu pratique mais j'ai un scénario où je dois mettre à jour une étiquette quand le curseur est déplacé vers le haut ou vers le bas alors je voudrais

Merci, j'espère avoir été aussi clair que possible

+4

La méthode de délégué 'textViewDidChangeSelection:' 'UITextView' est la méthode correcte à utiliser. S'il n'est pas appelé, vous n'avez pas défini correctement la propriété 'delegate' de la vue de texte. – rmaddy

Répondre

13

Juste pour développer le commentaire de @ rmaddy. Vous devez utiliser la méthode UITextViewDelegate-textViewDidChangeSelection: pour être averti lorsque la plage sélectionnée dans l'affichage du texte change. De là, vous pouvez accéder au NSRange représentant la sélection de texte via la propriété selectedRange de la vue de texte.

- (void)textViewDidChangeSelection:(UITextView *)textView 
{ 
    NSRange range = textView.selectedRange; 
} 
Questions connexes