如何仅更改 NSTextStorage 中未来文本的属性?

How to change the attributes of only future text in an NSTextStorage?

美好的一天,

我想知道如何更改 NSTextStorage 中未来文本的属性,设置 textStorage 的属性会更改文本存储中的所有文本而不是未来文本。如果有人可以帮助我。将不胜感激。

谢谢

NSTextStorage 是 NSMutableAttributedString 的子类。您可以使用 setAttributes(_:range:) 和相关方法为任意范围的字符设置属性。您可以使用 append()insert().

附加和插入 NSAttributedStrings(具有自己的属性)

NSMutableAttributedString 中没有“当前”属性。您将属性分配为要添加的 NSAttributedString 的一部分。如果要更改新添加文本的属性,则需要使用这些属性创建 NSAttributedStrings。

如果您正在使用 (NS|UI)TextView 或 UITextField,您可以使用 typingAttributes 来设置应将哪些属性应用于新文本,但是这是在 UI 层处理的,而不是 NSTextStorage 层。如果您要制作自己的 UI 元素,则需要自己处理。