2010-08-31 6 views
0

Je récupère une valeur de NSFontPanel, ce qui change la famille de police, style de texte. Mais je veux seulement le style de police et la couleur séparément que j'ai choisis de NSFontPanel.Comment récupérer uniquement le style de police (gras, italique, gras italique) du panneau de police (NSFontPanel) et la couleur?

Je ne comprends pas comment l'obtenir.

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 ces valeurs séparément.

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

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

Répondre

0

Pour obtenir le style, vous pouvez utiliser [fontmanager traitsOfFont: font]. En ce qui concerne la couleur, je pense que vous voulez obtenir le texte comme NSAttributedString et ensuite obtenir la valeur de l'attribut NSForegroundColorAttributeName.

Edit pour ajouter: En supposant 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, utilisez NSStrikethroughStyleAttributeName et pour underline NSUnderlineStyleAttributeName.

+0

pouvez-vous svp me donner un exemple .. –

+0

exemple d'obtenir la couleur. et merci de répondre .. il fonctionne pour obtenir le style de police. –

+0

et pouvez-vous aussi me dire comment faire passer et souligner de NSFontPanel. –

Questions connexes