Como recuperar apenas o estilo de fonte (ousado, itálico, ousado) do painel de fontes (NSFontPanel) e cor?
-
25-09-2019 - |
Pergunta
Estou recuperando um valor de NSFontPanel
, que muda a família de fontes, estilo de texto. Mas eu quero apenas o estilo de fonte e a cor separadamente que selecionei NSFontPanel
.
Não estou entendendo como conseguir isso.
NSFont *font =[fontmanager selectedFont];
string =[font fontName];
st = [font pointSize];
color =[TextEntered textColor];
Na variável de string, estou recebendo a família de fontes (egarial) e o estilo de fonte (por exemplo, negrito). Mas eu quero esses valores separadamente.
E na variável de cor, eu só recebo cor preta.
Não consigo entender onde estou errado em obter cores e que função usei para obter o estilo da fonte ..
Solução
Para obter o estilo, você usaria [fontmanager traitsOfFont: font]
. Quanto à cor, acho que você quer obter o texto como um NSAttributedString
e então obtenha o valor para o atributo NSForegroundColorAttributeName
.
Editar a acrescentar: Supondo que sua variável textented seja NSTEXTIFFIELD*, use algo assim:
NSAttributedString* theText = [TextEntered attributedStringValue];
NSColor* theColor = (NSColor*)[theText attribute: NSForegroundColorAttributeName
atIndex: 0 effectiveRange: NULL ];
Para StrikeThrough, use NSStrikethroughStyleAttributeName
e para uso sublinhado NSUnderlineStyleAttributeName
.