Как получить только стиль шрифта (полужирный, курсив, полужирный курсив) из панели шрифтов (NSFontPanel) и цвет?
Я получаю значение из NSFontPanel
, который меняет семейство шрифтов, стиль текста. Но я хочу только стиль шрифта и цвет отдельно, которые я выбрал из NSFontPanel
,
Я не понимаю, как это получить.
NSFont *font =[fontmanager selectedFont];
string =[font fontName];
st = [font pointSize];
color =[TextEntered textColor];
В строковой переменной я получаю семейство шрифтов (например, Arial) и стиль шрифта (например, полужирный). но я хочу эти значения отдельно.
А в переменной цвета я получаю только черный цвет.
Я не могу понять, где я неправ в получении цвета, и какую функцию я использовал для получения стиля шрифта..
1 ответ
Чтобы получить стиль, вы бы использовали [fontmanager traitsOfFont: font]
, Что касается цвета, я думаю, вы хотите получить текст в виде NSAttributedString
а затем получить значение для атрибута NSForegroundColorAttributeName
,
Изменить, добавив: Предполагая, что вашей переменной TextEntered является NSTextField*, используйте что-то вроде этого:
NSAttributedString* theText = [TextEntered attributedStringValue];
NSColor* theColor = (NSColor*)[theText attribute: NSForegroundColorAttributeName
atIndex: 0 effectiveRange: NULL ];
Для зачеркивания используйте NSStrikethroughStyleAttributeName
и для подчеркивания NSUnderlineStyleAttributeName
,