NSTextField(标签)属性文本:选择
Posted
技术标签:
【中文标题】NSTextField(标签)属性文本:选择【英文标题】:NSTextField (Label) Attributed Text: Select 【发布时间】:2011-02-25 18:20:25 【问题描述】:我有一个 NSTextField 标签,其中包含属性文本。颜色和大小与默认值不同。 (文本有点大和绿色)现在,我需要能够选择标签中的文本,以便单击嵌入在属性文本中的超链接。这很好用;但是,在选择文本时,文本的格式将恢复为默认值(一个较小的,黑色字体)。
是否有办法阻止这种行为,以便在用户单击(选择文本)标签时保留我的样式?
编辑:作为记录,我有另一个带有白色文本的标签,在选择时不会改变颜色,只有大小。
【问题讨论】:
【参考方案1】:好的。在进一步研究为什么白色会“粘住”以及为什么绿色不会“粘”后,我发现在 Interface Builder 中设置的任何文本属性不会在选择后保留。
因此,解决方案是始终使用 NSAttributedString 调用 setAttributedStringValue:
,该字符串具有您希望确保在标签上选择期间保持不变的属性。
【讨论】:
谢谢,但能否附上一点代码sn-p?我需要这样做——在标签上放一个(青色,不是绿色)较大的文本,带有超链接...... 不太明白解决办法。我正在通过setAttributedStringValue:
设置字符串,但仍然面临问题。【参考方案2】:
我遇到了同样的问题。不幸的是,接受的答案并没有解决它。即使我设置了attributedStringValue
,我的文本样式在被选中时仍然会发生变化。
感谢in this question 的回复,我能够通过调用来部分解决问题:
label.allowsEditingTextAttributes = true
【讨论】:
以上是关于NSTextField(标签)属性文本:选择的主要内容,如果未能解决你的问题,请参考以下文章
Mac OS X:删除标签中的文本(NSTextField)