Question

Je veux personnaliser mon NSTableView. Mes besoins globaux sont comme ceci:

  • Chaque ligne aura une image et un texte; images et du texte pourraient être différentes.
  • Certaines cellules pourraient ne pas avoir une image.
  • La hauteur des lignes dépend de certains facteurs externes.
  • cellule A ne doit pas tirer l'arrière-plan, il devrait montrer l'arrière-plan NSTableView.

Jusqu'à présent, je suis en mesure de tirer des cellules transparentes avec un texte. Je googlé et a découvert que je dois personnaliser chaque cellule. Maintenant, j'ai cette question: dois-je maintiens deux colonnes ou devrais une colonne être d'accord, ayant une image sur le côté gauche et le texte adjacent à cette

?

Je comprends aussi que je dois passer outre deux méthodes:

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

Donc, pour chaque cellule, je dois dessiner / construire la cellule - Quelqu'un peut-il me guider? Est-ce que je vais dans la bonne direction? Puis-je obtenir un fond transparent avec une hauteur de dynamique avec l'approche ci-dessus?

Était-ce utile?

La solution

  

Chaque ligne aura une image et un texte,

Ainsi, deux colonnes l'une avec une cellule d'image, l'autre avec une cellule de champ de texte.

  

images et du texte pourraient être différentes,

Je dois l'espérer.

  

Certaines cellules pourraient ne pas avoir l'image,

Pas de problème.

  

Hauteur de la ligne est dépendent de certains facteurs externes,

Soyez le délégué de vue de la table, et il vous demandera ce que la hauteur de la ligne doit être.

  

cellulaire ne doit pas tirer l'arrière-plan,

Il ne sera pas à moins que vous le mettre à le faire.

  

il devrait devrait montrer l'arrière-plan NSTableView général,

La table sera dessiner son propre fond de toute façon, que vous pouvez définir dans l'inspecteur de l'IB. Si vous voulez la vue de la table pour ne pas dessiner un arrière-plan, vous devez définir ses couleurs de fond à la couleur claire.

Vous n'avez pas besoin d'une cellule personnalisée pour tout cela.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top