Color NSTextField Table Column

iTomiTom Membre
février 2014 modifié dans API AppKit #1

Bonjour à  tous,


 


Il m'est impossible de contrôler de façon simple la couleur du text de mon Header Cell.


À gauche c'est ce que je veux & à  droite ce que tout le monde obtient par défaut et moi aussi en l'occurrence...


 


J'ai essayer de forcer la couleur avec 'NSTextField setTextColor: greenColor' mais dans ce cas la mon Header Cell devient vert qu'une fois sélectionné...


issue.png


 


Comment puis-je arriver à  mes fins ?


 


Merci d'avance,


Tom


Réponses

  • laudemalaudema Membre
    février 2014 modifié #2

    Dans quelle méthode utilises tu "setColor:" ?


    Si tu le fais dans "awakeFromNib" ça devrait le faire au chargement de ta fenêtre.


    Tu pourrais aussi utiliser les bindings, il suffit d'ajouter une propriété NSColor à  ton fileOwner et de faire le lien dans l'explorateur bindings dans l'éditeur du .xib qui contient ta vueTableau il y a une section Text Color justement. J'utilise ça pour colorer différemment certaines lignes suivant la valeur affichée. Dans ce cas ma propriété est calculée à  l'affichage suivant la valeur.


     


    Schématiquement ...


    @property NSColor *myFieldColor;


     


    - (NSColor *)myFieldColor { return myValue > 0 ? [NSColor blueColor]:[NSColor redColor];}


     


    PS: Dans ce cas le binding ne se fait plus via fileOwner.myFieldColor mais via ArrayController.arrangedObjects.myFieldColor et la propriété est définie dans la classe des objets du tableau de ArrayController.


Connectez-vous ou Inscrivez-vous pour répondre.