Question

J'ai un contrôle personnalisé NSControl qui agit comme une sorte de curseur bidimensionnel dans lequel vous pouvez faire glisser une poignée autour de la vue. J'ai ajouté quelques méthodes spécifiques à la classe et les seules que j'ai écrasées étaient les actions de la souris et drawRect. Ma question est, comment puis-je le faire pour mettre en œuvre une action cible? Comment puis-je le faire se comporter comme un curseur et envoyer en permanence des messages d'action à une cible liée? A partir de maintenant, je peux le câbler dans le constructeur d'interface mais aucune action n'est envoyée. J'ai lu beaucoup de choses sur des méthodes comme sendActionOn: et sendAction: to: mais je ne sais pas exactement comment les utiliser. Si quelqu'un voulait bien l'expliquer, je l'aurais.

Était-ce utile?

La solution

-sendActionOn: n'est pertinent que si vous sous-classez NSControl et implémentez une cellule, ce que vous ne faites pas.

Dans -mouseDragged: (ou quelle que soit la méthode appelée depuis [[self target] performSelector:[self action]] pour modifier la position du curseur), vous devez simplement appeler <=>.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top