Objective c 是否在NSTextView中设置选定文本的背景色?

Objective c 是否在NSTextView中设置选定文本的背景色?,objective-c,cocoa,highlight,nstextview,Objective C,Cocoa,Highlight,Nstextview,我正在尝试将用户选择的文本部分的背景色更改为文本的不同颜色(以添加高光)。现在我已经试过了: (void)setSelectedTextAttributes:(NSDictionary*)属性 方法,但该方法仅更改选定内容的背景色。我需要更改文本的背景色,使其保持高亮显示。正如您所发现的,选定的文本属性仅适用于选定的文本。如果要将某些属性添加到所选的持久文本中,则需要将这些属性应用于基础NSTextStorage对象(它只是nsmutableAttributeString的子类) 方法是使用

我正在尝试将用户选择的文本部分的背景色更改为文本的不同颜色(以添加高光)。现在我已经试过了:

  • (void)setSelectedTextAttributes:(NSDictionary*)属性

方法,但该方法仅更改选定内容的背景色。我需要更改文本的背景色,使其保持高亮显示。

正如您所发现的,选定的文本属性仅适用于选定的文本。如果要将某些属性添加到所选的持久文本中,则需要将这些属性应用于基础
NSTextStorage
对象(它只是
nsmutableAttributeString
的子类)


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

可能重复的不是dup。这是指更改高亮显示的颜色(当选择文本时),并且在更改选择后不保留背景色。