2010-06-15 15 views
2

Comment puis-je définir la couleur de sélection? Dans ce cas, il est la couleur d'une sélection dans un NSTableViewCacao: Définir la couleur sélectionnée

modifier:

Voici mon sous-classe:

- (void)highlightSelectionInClipRect:(NSRect)clipRect 
{ 
NSBezierPath *windowPath; 
windowPath = [NSBezierPath bezierPathWithRect:clipRect]; 
[[NSColor greenColor] set]; 
[windowPath fill]; 
} 

Le seul problème est qu'il met la couleur en arrière-plan, et non pas comme couleur utilisée lorsque je sélectionne une ligne.

Répondre

3

Écrivez une sous-classe de NSTableView dans laquelle vous remplacez the highlightSelectionInClipRect: method, et faites de votre vue de table une instance de cette sous-classe.

Votre implémentation de la méthode doit définir la couleur de sélection, puis remplir le rectangle avec cette couleur.

Notez que la couleur de sélection est configurable par l'utilisateur (voir les différentes méthodes de coloration en surbrillance de NSColor), vous ne devez donc pas remplacer la couleur de sélection sans une très bonne raison. Si vous voulez que la sélection surligne un dégradé, comme une liste de sources, c'est beaucoup plus simple: Set the table view's highlight style. Vous n'avez pas besoin de sous-classe et vous pouvez définir cette propriété dans IB.