2011-02-07 41 views
0

我正在尝试将用户选定的部分文本的背景颜色更改为不同的颜色(以添加高亮)到文本。现在,我已经试过:在NSTextView中设置选定文本的背景颜色?

  • (无效)setSelectedTextAttributes:(NSDictionary的*)属性

方法,但只有改变选择的背景色。我需要改变文本的背景颜色,使其保持高亮显示。

+0

[在NSTextView中更改文本选择颜色]的可能的重复(http://stackoverflow.com/questions/4300272/changing-text-selection-color-in-ns- textview) – 2011-02-07 20:37:40

回答

0

正如您发现的那样,所选文本属性仅适用于选中文本。如果您想为选定的文本添加一些属性,您需要将这些属性应用到底层的NSTextStorage对象(它只是NSMutableAttributedString的一个子类)。

做到这一点的方法是使用文本视图的textStorage方法,然后使用addAttributes:range:方法应用属性(或setAttributes:range:取决于你是否要添加到现有的文本属性或完全取代他们)。