2010-05-30 87 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