Frage

Ich erstelle eine benutzerdefinierte Unterklasse von NSPopUpButton und NSPopUpButtonCell ein einsames Symbol anzuzeigen oben auf der Schaltfläche statt des üblichen Textes.

Um dies zu tun Ich bin überschreiben

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

in meiner Knopfzellenunterklasse meines Symbol an der entsprechenden Größe und Lage zu zeichnen. Wenn der Benutzer den Mauszeiger über die Schaltfläche Ich möchte dann das Bild ändern. Mein einziges Problem ist, ich kann nicht herausfinden, wie die Knopfzelle redisplay zu machen (durch drawInterior Aufruf ... wieder). Standardmäßig scheint es nur erneut anzuzeigen, wenn die Schaltfläche geklickt wird oder wenn der Fokus auf ein anderes Fenster bewegt. Ich habe setNeedsDisplay versucht. Ja, aber das scheint nicht, es zu tun

War es hilfreich?

Lösung

Die Art, wie ich gefunden, dies zu tun war ein Aufruf an

einfügen
[self updateCell:self.cell];

in meiner NSPopUpButton Unterklasse unmittelbar nach jedem Punkt geändert ich das Bild von der Zelle angezeigt.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top