Comment récupérer uniquement le style de police (gras, italique, gras et italique) à partir du panneau de police (NSFontPanel) et la couleur?

StackOverflow https://stackoverflow.com/questions/3606329

Question

Je suis en train de récupérer une valeur de NSFontPanel, qui change la famille de la police, le style du texte. Mais je veux seulement Style de police et couleur séparément que j'ai choisi de NSFontPanel.

Je ne reçois pas comment obtenir cela.

NSFont *font  =[fontmanager selectedFont];
     string =[font fontName];
     st = [font pointSize];
    color =[TextEntered textColor];
  1. Dans la variable de chaîne Je reçois la famille de polices (e.g.Arial) et le style de la police (par exemple. Gras). mais je veux que ces valeurs séparément.

  2. Et dans la variable de couleur que je ne reçois que la couleur noire.

Je ne suis pas en mesure de comprendre où je me trompe à obtenir la couleur, et quelle fonction je pour obtenir le style de police ..

Était-ce utile?

La solution

Pour obtenir le style, vous pouvez utiliser [fontmanager traitsOfFont: font]. Quant à la couleur, je pense que vous voulez obtenir le texte comme un NSAttributedString puis obtenir la valeur pour l'NSForegroundColorAttributeName d'attribut.

Modifier pour ajouter: Si l'on suppose que votre variable TextEntered est NSTextField *, utilisez quelque chose comme ceci:

NSAttributedString* theText = [TextEntered attributedStringValue];
NSColor* theColor = (NSColor*)[theText attribute: NSForegroundColorAttributeName
    atIndex: 0 effectiveRange: NULL ];

Pour biffés, l'utilisation NSStrikethroughStyleAttributeName et pour underline NSUnderlineStyleAttributeName.

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