NSButton personalizzato e NSButtonCell
-
10-10-2019 - |
Domanda
Sto cercando di creare un look pulsante personalizzato.
Da quello che ho raccolto, NSButtonCell
fa il disegno, quindi dovrei essere effettivamente sovrascrivere che invece.
Ma il problema è, la mia classe CustomButton ha altre cose come NSImage
, mIsMouseOver
ecc Attualmente il disegno è stato fatto nella classe CustomButton ma voglio passare sopra alla cella.
domanda è, c'è qualche cosa che posso accedere all'immagine nella classe CustomButton dalla classe customButtonCell in modo che io possa usare [image drawInRect:...]
?
Saluti, Han
Soluzione
metodo drawWithFrame:(NSRect)frame inView:(NSView *)controlView
del tuo cellulare include un riferimento al NSView in corso di elaborazione da cui è possibile accedere alle proprietà della vista (come immagine).
Altri suggerimenti
come al solito è quello di memorizzare i dati nella sottoclasse NSCell. Classe cella base ha anche un -. La struttura, immagine (id), così, la classe pulsante dovrebbe chiamare [[self cell] image]
quando viene interrogato per un'immagine
In realtà, dal momento che si sta sottoclasse NSButton, contiene tutto ciò che serve, basta sostituire i metodi di disegno della cellula. E se avete bisogno di una proprietà in più -. Definirlo nella cella, avvolgere nel controllo