trasparente NSTableView
-
13-10-2019 - |
Domanda
I desidera personalizzare la mia NSTableView
. I miei requisiti generali sono in questo modo:
- Ogni riga avrà una sola immagine e del testo; immagini e testo potrebbero essere diversi.
- Alcune cellule potrebbero non avere un'immagine.
- Altezza riga dipende da qualche fattore esterno.
- Una cellula non dovrebbe disegnare lo sfondo, dovrebbe mostrare lo sfondo
NSTableView
.
Finora sono in grado di disegnare celle trasparenti con del testo. I Googled e scoperto che ho bisogno di personalizzare ogni cella. Ora ho questo problema: dovrei mantenere due colonne o dovrebbe essere a posto una colonna, con una sola immagine sul lato sinistro e il testo adiacente a quella
?Ho anche capito che ho bisogno di sostituire due metodi:
- (void) drawWithFrame:(NSRect)cellFrame inView:(NSView *)controlView
Quindi, per ogni cella, ho bisogno di disegnare / costruire il cellulare - qualcuno mi può guidare? Sto andando nella direzione giusta? Posso ottenere uno sfondo trasparente con altezza dinamico con l'approccio di cui sopra?
Soluzione
Ogni riga avrà un'immagine e un testo,
Quindi, due colonne-uno con una cella di immagine, l'altro con una cella di campo di testo.
immagini e testo potrebbero essere differenti,
Lo spero così.
Alcuni cella potrebbe non avere l'immagine,
Non è un problema.
Altezza riga viene dipenderà qualche fattore esterno,
Essere delegato della vista tavolo, e vi chiederà cosa l'altezza della fila dovrebbe essere.
cellulare non dovrebbe disegnare lo sfondo,
Non sarà a meno che non lo si imposta a farlo.
dovrebbe nel complesso dovrebbe mostrare lo sfondo NSTableView,
La vista tabella trarrà il proprio sfondo in ogni caso, che è possibile impostare in ispettore di IB. Se si voleva la vista tabella di non disegnare un fondo, è necessario impostare i colori di sfondo al colore chiaro.
Non hai bisogno di una cella personalizzata per qualsiasi di questo.