Cómo recuperar sólo estilo de fuente (negrita, cursiva, negrita cursiva) del panel de la fuente (NSFontPanel) y el color?

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

Pregunta

Me estoy recuperando un valor de NSFontPanel, que cambia la familia de la fuente, el estilo del texto. Pero quiero único estilo y color de fuente separado que he seleccionado de NSFontPanel.

No estoy recibiendo cómo conseguir eso.

NSFont *font  =[fontmanager selectedFont];
     string =[font fontName];
     st = [font pointSize];
    color =[TextEntered textColor];
  1. En variable de cadena que estoy recibiendo Familia de fuentes (e.g.Arial) y el estilo de fuente (por ejemplo. Negrita). pero quiero que estos valores por separado.

  2. Y en color variable solo me dan el color negro.

No soy capaz de entender dónde estoy equivocado en conseguir el color, y cuál es la función que utilicé para conseguir estilo de fuente ..

¿Fue útil?

Solución

Para conseguir el estilo, se usaría [fontmanager traitsOfFont: font]. En cuanto al color, creo que se desea obtener el texto como una NSAttributedString y luego obtener el valor para el atributo NSForegroundColorAttributeName.

Editar para añadir: Suponiendo que la variable de TextEntered es NSTextField *, uso algo como esto:

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

Para tachado, uso NSStrikethroughStyleAttributeName y para el uso de subrayado NSUnderlineStyleAttributeName.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top