xcode event mouseDown dans une NSImageView

bofxyz

Membre confirmé
26 Juillet 2012
85
1
Bonjour
OSX 10.7.5 - Xcode 4.6.2
Application Cocoa basique.
Une NSImageView * imageView créée dans la fenêtre avec IB.
Si je clique dans la imageView, je voudrais afficher un menu contextuel.
Je tourne autour de mouseDown, que je dois surcharger ?
Mais comment appeler mouseDown?
Je peux créer une classe NSImageDown MyImageView et y placer mouseDown surchargé.
Mais comment créer le lien entre ma classe MyImageView et imageView créé par IB ?
Beaucoup de choses dans la doc, mais très fragmentaires et souvent incompréhensibles pour moi et pas d'exemple simple.
Merci de l'aide.
 
NSImageView dérive de NSResponder qui répond à mouseDown. Donc effectivement il te faut définir ta classe dérivé de NSImageView et surcharger la fonction mouseDown pour y mettre ton code.

Dans IB tu crées un objet du type "NSImageView" dans ton interface. Ensuite il faudra juste préciser que cet objet est en fait de ton type dérivé et pas du type NSImageView : tu cliques sur ton objet dans IB, à droite dans l'inspecteur, deuxième onglet, champ "Custom class", ta classe doit apparaître dans la liste.
 
Ça marche ! Presque...
C'est le lien que je cherchais.
Mais, après run, l'entourage de _imageView n'apparaît plus. Impossible d'y insérer une image.
Quid ?