问题描述
美好的一天,
我想知道如何更改 NSTextStorage 中仅未来文本的属性,设置 textStorage 的属性会更改文本存储中的所有文本而不是未来文本。如果有人可以帮助我。将不胜感激。
谢谢
解决方法
NSTextStorage 是 NSMutableAttributedString 的子类。您可以使用 setAttributes(_:range:)
和相关方法为任何范围的字符设置属性。您可以使用 append()
和 insert()
附加和插入 NSAttributedStrings(具有它们自己的属性)。
NSMutableAttributedString 中没有“当前”属性。您将属性分配为要添加的 NSAttributedString 的一部分。如果要更改新添加文本的属性,则需要使用这些属性创建 NSAttributedStrings。
如果您正在使用 (NS|UI)TextView 或 UITextField,您可以使用 typingAttributes
来设置应将哪些属性应用于新文本,但这是在 UI 层处理的,而不是 NSTextStorage层。如果您要制作自己的 UI 元素,则需要自己处理。