Pregunta

Tengo una etiqueta NSTextField que ha atribuido el texto en ella. El color y el tamaño son diferentes de los valores por defecto. (El texto es un poco más grande y verde) Ahora, tengo que ser capaz de seleccionar el texto en la etiqueta de manera que la haga clic en los hipervínculos insertados en el texto atribuido. Esto funciona bien; Sin embargo, al seleccionar el texto el formato de los revierte texto de nuevo a los valores por defecto (a, tipo de letra más pequeño negro).

¿Hay alguna forma de detener este comportamiento para que mi estilo se conserva cuando el usuario hace clic (Selecciona el texto) en una etiqueta?

EDIT:. Para el registro, no tengo otra etiqueta con el texto blanco que no cambia de color cuando se selecciona, sólo el tamaño

¿Fue útil?

Solución 2

Está bien. Después de la investigación adicional de por qué el color blanco era 'pegarse' y por qué el verde no era, descubrí que cualquier texto atributos establecidos en el Interface Builder do no estancia después de la selección.

Por lo tanto, la solución es llamar siempre setAttributedStringValue: con un NSAttributedString que tiene atributos que desea asegurarse de estancia durante la selección en la etiqueta.

Otros consejos

me encontré con el mismo problema. La respuesta aceptada no solucionarlo por desgracia. Mi estilo de texto todavía estaba cambiando al ser seleccionado a pesar de que me había propuesto el attributedStringValue.

Gracias a la respuesta en esta pregunta , me fue capaz de, en parte, a resolver el problema llamando a:

label.allowsEditingTextAttributes = true

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