Y at-il un moyen de détecter quand un UITextView a fini de défiler? En guise de note, je permets à l'utilisateur d'activer ou de désactiver la pagination.Détecter lorsqu'un UITextView a fini de défiler
Merci.
Y at-il un moyen de détecter quand un UITextView a fini de défiler? En guise de note, je permets à l'utilisateur d'activer ou de désactiver la pagination.Détecter lorsqu'un UITextView a fini de défiler
Merci.
UITextView
est une sous-classe de UIScrollView
, qui a une classe UIScrollViewDelegate
pour contrôler le comportement lié au défilement. Une de ses méthodes est scrollViewDidEndDecelerating
. Vous pouvez demander à votre contrôleur de vue d'implémenter ce protocole, de définir la propriété delegate
de votre UITextView
sur le contrôleur de vue, puis d'implémenter la méthode scrollViewDidEndDecelerating
. Lorsque la méthode est appelée, le UITextView
aura terminé le défilement. .: par exemple
@interface MyViewController : UIViewController <UIScrollViewDelegate>
dans .m:
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView
{
NSLog(@"Finished scrolling");
}
Merci. Je pense que j'ai obtenu la plupart de cela, sauf pour définir la propriété delegateView UITextView au contrôleur de vue. Pouvez-vous clarifier à ce sujet? (Je suis un débutant) – GL777
Bien sûr. Une fois que vous avez un délégué (dans votre cas, votre contrôleur de vue), vous devez indiquer à UITextView qui est le délégué. Vous pouvez le faire visuellement dans Interface Builder (cliquez sur UITextView, affichez l'inspecteur Connections, faites glisser la propriété 'delegate' vers le propriétaire du fichier) ou le code interne, à l'intérieur de la méthode viewDidLoad de votre contrôleur view, avec quelque chose comme" myTextView.delegate = soi-même; " –
Merci! Ça a marché! Une chose: Quand je l'ai fait via le code (myTextView.delegate = self;) je reçois un avertissement disant "la classe MYCLASS n'implémente pas le protocole UITextDelegate". Des idées ce que c'est? Merci encore!!! – GL777