我正在尝试将用户选择的部分文本的背景颜色更改为文本的不同颜色(以添加突出显示)。现在我尝试了:
- (void)setSelectedTextAttributes:(NSDictionary *)属性
方法,但这只会改变选择的背景颜色。我需要更改文本的背景颜色,使其保持突出显示。
我正在尝试将用户选择的部分文本的背景颜色更改为文本的不同颜色(以添加突出显示)。现在我尝试了:
方法,但这只会改变选择的背景颜色。我需要更改文本的背景颜色,使其保持突出显示。
正如您所发现的,选定的文本属性仅适用于选定的文本。如果您想为选定的文本添加一些持续存在的属性,您需要将这些属性应用到基础NSTextStorage
对象(它只是 的子类NSMutableAttributedString
)。
这样做的方法是使用文本视图的textStorage
方法,然后使用该addAttributes:range:
方法应用属性(或者setAttributes:range:
取决于您是要添加到现有文本属性还是完全替换它们)。