Couleur des points de suite dans une NSAttributedString

J'utilise NSLineBreakByTrucatingTail pour afficher des points de suite à  une attributedString quand elle est tronquée.


Cette chaà®ne est affichée dans un NSTextField.

Mais j'ai un problème : quelle que soit la couleur que j'affecte à  cette chaà®ne, les points de suite sont toujours en noir.


 


Un truc doit m'échapper, je vous joins un exemple de code :



-(NSAttributedString *) attStrTest
{
NSMutableAttributedString *mutRetour = [[[NSAttributedString alloc]initWithString:@Ceci est une chaà®ne pour tester pour la troncature]mutableCopy];

NSMutableParagraphStyle *paragraphStyle = [[NSParagraphStyle defaultParagraphStyle]mutableCopy];
[paragraphStyle setLineBreakMode:NSLineBreakByTruncatingTail];
[mutRetour addAttribute:NSParagraphStyleAttributeName value:paragraphStyle range:NSMakeRange(0, [mutRetour length])];

[mutRetour addAttribute:NSForegroundColorAttributeName value:[NSColor redColor] range:NSMakeRange(0, [mutRetour length])];

return mutRetour;
}

Voici le résultat :


Réponses



  • J'utilise NSLineBreakByTrucatingTail pour afficher des points de suite à  une attributedString quand elle est tronquée.


    Cette chaà®ne est affichée dans un NSTextField.

    Mais j'ai un problème : quelle que soit la couleur que j'affecte à  cette chaà®ne, les points de suite sont toujours en noir.


     


    Un truc doit m'échapper, je vous joins un exemple de code :



    -(NSAttributedString *) attStrTest
    {
    NSMutableAttributedString *mutRetour = [[[NSAttributedString alloc]initWithString:@Ceci est une chaà®ne pour tester pour la troncature]mutableCopy];

    NSMutableParagraphStyle *paragraphStyle = [[NSParagraphStyle defaultParagraphStyle]mutableCopy];
    [paragraphStyle setLineBreakMode:NSLineBreakByTruncatingTail];
    [mutRetour addAttribute:NSParagraphStyleAttributeName value:paragraphStyle range:NSMakeRange(0, [mutRetour length])];

    [mutRetour addAttribute:NSForegroundColorAttributeName value:[NSColor redColor] range:NSMakeRange(0, [mutRetour length])];

    return mutRetour;
    }

    Voici le résultat :


    attachicon.gifCapture_couleur_points_de_suite.png


     


    Note : je suis obligé d'utiliser une attributedString car j'ai besoin de souligner certains mots.




     


    Essaie de rajouter quelques caractères a la longueur de chaine : [mutRetour length] + 5 par exemple ?

  • Merci pour l'idée mais ça ne fonctionne pas.


     


    En fait, je viens de trouver. Les points de suite sont dessinés avec la couleur du textField, donc ça fonctionne en settant la couleur du textField en même temps qu'on lui change la couleur de la chaà®ne.


    Il y a peut-être plus facile, mais au moins, ça, ça marche.


  • AliGatorAliGator Membre, Modérateur
    ça vaut peut être le coup d'envoyer un bugreport à  Apple car ça serait plus logique que les ellipses soient de la couleur du texte qui est autour ?


    http://bugreport.apple.com
Connectez-vous ou Inscrivez-vous pour répondre.