在NSTextView中设置所选文本的背景颜色?

时间:2011-02-07 20:27:24

标签: objective-c cocoa highlight nstextview

我正在尝试将用户选择的部分文本的背景颜色更改为不同的颜色(以添加突出显示)到文本。现在我尝试了:

  • (void)setSelectedTextAttributes:(NSDictionary *)attributes

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

1 个答案:

答案 0 :(得分:0)

正如您所发现的,所选文本属性仅在文本被选中时才适用。如果要为保留的选定文本添加一些属性,则需要将这些属性应用于基础NSTextStorage对象(它只是NSMutableAttributedString的子类)。

这样做的方法是使用文本视图的textStorage方法,然后使用addAttributes:range:方法(或setAttributes:range:)应用属性,具体取决于您是否要添加到现有文本属性或完全替换它们。)