フォントパネル(NSFontPanel)と色からフォントスタイル(太字、斜体、太字斜体)だけを取得するにはどうすればよいですか?

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

質問

から値を取得しています NSFontPanel, 、フォントファミリー、テキストのスタイルを変更します。ただし、選択したフォントスタイルと色だけが個別に必要です NSFontPanel.

それを取得する方法がわかりません。

NSFont *font  =[fontmanager selectedFont];
     string =[font fontName];
     st = [font pointSize];
    color =[TextEntered textColor];
  1. 文字列変数で、フォントファミリー(例:Arial)とフォントスタイル(例:大胆な)。しかし、これらの値は個別に必要です。

  2. そして、色変数では黒色のみが得られます。

色の取得のどこが間違っているのか、フォント スタイルの取得にどの関数を使用したのか理解できません。

役に立ちましたか?

解決

のスタイルを取得するには、[fontmanager traitsOfFont: font]を使用します。色に関しては、私はあなたがNSAttributedStringとしてテキストを取得し、属性NSForegroundColorAttributeNameの値を取得したいと考えています。

編集追加する:あなたのTextEntered変数がNSTextField *、このような使用の何かがあると仮定します:

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

取り消し、使用NSStrikethroughStyleAttributeNameため、および下線使用NSUnderlineStyleAttributeNameための

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top