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?

È stato utile?

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.

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