2010-05-30 88 views
5

我有一个NSTextField标签已归因于它的文本。颜色和尺寸与默认值不同。 (文字有点大而且绿色)现在,我需要能够选择标签中的文本,以便点击嵌入到属性文本中的超链接。这工作正常;但是,选择文本时,文本的格式会恢复为默认值(较小的黑色字体)。NSTextField(标签)归因文本:选择

有没有办法阻止这种行为,以便在用户在标签上单击(选择文本)时保留我的样式?

编辑:对于记录,我有另一个白色文本标签,选择时不会改变颜色,只有大小。

回答

2

好的。在进一步研究为什么白色“粘住”以及为什么绿色不是的情况下,我发现在界面生成器中设置的任何文本属性在选择后都保留而不是

因此,解决方案是始终使用NSAttributedString调用setAttributedStringValue:,该NSAttributedString具有要确保在标签上进行选择时保留的属性。

+2

谢谢,但你可以请附上一个小的代码片段?我需要做到这一点---把一个(青色,不绿色)更大的文本放在一个标签上,用一个超链接... – 2016-02-28 14:30:12

+1

不太理解解决方案。我通过'setAttributedStringValue:'设置字符串,但仍然面临问题。 – NSRover 2016-06-14 08:07:09

0

我遇到了同样的问题。接受的答案并不能解决它。即使我已经设置了attributedStringValue,我的文字样式仍然在更改。

由于响应in this question,我能够部分通过调用解决的问题:

label.allowsEditingTextAttributes = true