Как получить только стиль шрифта (полужирный, курсив, полужирный курсив) из панели шрифтов (NSFontPanel) и цвет?

Я получаю значение из NSFontPanel, который меняет семейство шрифтов, стиль текста. Но я хочу только стиль шрифта и цвет отдельно, которые я выбрал из NSFontPanel,

Я не понимаю, как это получить.

NSFont *font  =[fontmanager selectedFont];
     string =[font fontName];
     st = [font pointSize];
    color =[TextEntered textColor];
  1. В строковой переменной я получаю семейство шрифтов (например, Arial) и стиль шрифта (например, полужирный). но я хочу эти значения отдельно.

  2. А в переменной цвета я получаю только черный цвет.

Я не могу понять, где я неправ в получении цвета, и какую функцию я использовал для получения стиля шрифта..

1 ответ

Решение

Чтобы получить стиль, вы бы использовали [fontmanager traitsOfFont: font], Что касается цвета, я думаю, вы хотите получить текст в виде NSAttributedString а затем получить значение для атрибута NSForegroundColorAttributeName,

Изменить, добавив: Предполагая, что вашей переменной TextEntered является NSTextField*, используйте что-то вроде этого:

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

Для зачеркивания используйте NSStrikethroughStyleAttributeName и для подчеркивания NSUnderlineStyleAttributeName,

Другие вопросы по тегам