Domanda

Sto creando una sottoclasse personalizzata di NSPopUpButton e NSPopUpButtonCell per visualizzare un'icona solitario sulla parte superiore del pulsante invece del testo al solito.

Per fare questo sto ignorando

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

nel mio sottoclasse di cellule pulsante per richiamare la mia icona con le dimensioni e la posizione appropriata. Quando passaggio del mouse sopra il pulsante ho poi vogliono cambiare l'immagine. Il mio unico problema è che non riesco a capire come rendere il Rivisualizza pile a bottone (chiamando drawInterior ... di nuovo). Per impostazione predefinita, sembra solo per visualizzare nuovamente quando il pulsante viene premuto o quando messa a fuoco è spostato in un'altra finestra. Ho provato setNeedsDisplay: Sì. Ma che non sembra farlo

È stato utile?

Soluzione

Il modo che ho trovato per fare questo è stato quello di inserire una chiamata a

[self updateCell:self.cell];

dentro il mio sottoclasse NSPopUpButton subito dopo qualsiasi punto ho cambiato l'immagine visualizzata dalla cella.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top