Jongler avec les polices et styles dans une NSString

UniXUniX Membre
12:20 modifié dans API AppKit #1
Bijour.

J'affiche une NSString dans une vue. Pour l'instant elle est toute simple. Est-il possible d'avoir une partie des mots en gras, une autre dans une police différente, .... En fait est-il possible dans une NSString d'avoir plusieurs polices et styles différents ?

Si non, comment faut-il s'y prendre pour arriver à  cet objectif ?

Réponses

  • fouffouf Membre
    12:20 modifié #2
    On ne peut pas avec une NSString mais avec une NSAttributedString (et NSMutableAttributedString). Tu peux avec définir des attributs de police, de sous/surlignement ....

    Le mieux c'est que tu regardes dans la doc de NSAttributedString ;)
  • UniXUniX Membre
    12:20 modifié #3
    Ah ouais. J'ai jeté un oeil et construit une NSMutableAttributedString (ouf..), mais j'ai 2 questions liées :
    1) j'utilisais sizeWithAttributes: de NSString pour déterminer la largeur de la string et pouvoir l'afficher au milieu de ma vue, mais j'ai pas trouvé l'équivalent pour NSAttributedString
    2) comment bon sang on spécifie une NSFont en gras ???
  • BruBru Membre
    12:20 modifié #4
    dans 1130328773:

    1) j'utilisais sizeWithAttributes: de NSString pour déterminer la largeur de la string et pouvoir l'afficher au milieu de ma vue, mais j'ai pas trouvé l'équivalent pour NSAttributedString


    Ici, la méthode c'est tout simplement size.

    .
  • Eddy58Eddy58 Membre
    12:20 modifié #5
    dans 1130328773:

    2) comment bon sang on spécifie une NSFont en gras ???


    Il faut le spécifier après le nom de la fonte : :)
    [tt]
    NSFont *font=[NSFont fontWithName:@Skia-Bold size:16.0];
    [/tt]
  • BruBru Membre
    12:20 modifié #6
    dans 1130329617:

    dans 1130328773:

    2) comment bon sang on spécifie une NSFont en gras ???


    Il faut le spécifier après le nom de la fonte : :)
    [tt]
    NSFont *font=[NSFont fontWithName:@Skia-Bold size:16.0];
    [/tt]


    Oui, mais le mieux est de passer par un fontDescriptor, ce qui laisse beaucoup plus de latitude pour régler chaque paramètre d'une police (italique, gras, couleur, etc...).

    .
  • Eddy58Eddy58 Membre
    12:20 modifié #7
    dans 1130329779:

    Oui, mais le mieux est de passer par un fontDescriptor, ce qui laisse beaucoup plus de latitude pour régler chaque paramètre d'une police (italique, gras, couleur, etc...).

    Au cas où plusieurs paramètres doivent êtres modifiés, c'est mieux en effet. :o
  • UniXUniX Membre
    12:20 modifié #8
    Ok super, merci bien, j'ai réussi à  obtenir ce que je voulais 
  • 12:20 modifié #9
    Hello,

    Je remonte le sujet car je cherche à  "jongler" les polices ds mon attributedString  :adios!:
    Et je ne sais pas comment faire !
    Exemple :
    J'ai "Prout Toto"
    Prout est en helvetica 14pt
    Toto est en helvetica 10pt

    Pour l'instant, j'arrive juste à  changer le font de mon NSString entier..

    Merci d'avance ;)
  • Eddy58Eddy58 Membre
    12:20 modifié #10
    Il faut utiliser NSMutableAttributedString et la méthode setAttributes:range: pour faire varier tes attributs selon le range. :)
  • 12:20 modifié #11
    Ok merci bcp eddy je verrai ça ce soir :o
  • AliGatorAliGator Membre, Modérateur
    12:20 modifié #12
    dans 1137708161:

    J'ai "Prout Toto"
    Prout est en helvetica 14pt
    Toto est en helvetica 10pt
    C'est peut-être parce que tu as installé Brize Touche Fraà®che sur ton Mac ?
    Il refuse de te faire un "Prout" trop gros...
    Surtout à  force de faire 15000 tests de ton prog... Ca doit pas être triste comme odeur...


    Hein, quoi ? la porte ? :o
    Hé, ho, avouez que vous avez tous été tentés de faire la remarque, hein ? >:D
Connectez-vous ou Inscrivez-vous pour répondre.