2008-12-11 6 views
0

Je crée une sous-classe personnalisée de NSPopUpButton et de NSPopUpButtonCell pour afficher une icône isolée au-dessus du bouton au lieu du texte habituel.Comment forcer un NSPopUpButtonCell à se réafficher?

Pour ce faire, je suis remplaçant

- (void)drawInteriorWithFrame:(NSRect)cellFrame inView:(NSView *)controlView 

dans mon sous-classe bouton de cellule pour dessiner mon icône à la taille et l'emplacement. Lorsque l'utilisateur passe sur le bouton, je veux changer l'image. Mon seul problème est que je n'arrive pas à comprendre comment réafficher la cellule bouton (en appelant à nouveau drawInterior ...). Par défaut, il ne semble réapparaître que lorsque le bouton est cliqué ou lorsque le focus est déplacé vers une autre fenêtre. J'ai essayé setNeedsDisplay: OUI mais cela ne semble pas le faire.

Répondre

2

La manière que je trouvais à faire était d'insérer un appel à

[self updateCell:self.cell]; 

dans ma sous-classe NSPopUpButton immédiatement après tout moment j'ai changé l'image affichée par la cellule.

Questions connexes