在UITextView上替换属性文本时保持自定义属性

Afo*_*nso 7 uitextview nsattributedstring ios swift

我有一个可编辑的UITextView,它加载了一个属性String.此属性String加载了应用程序设置的自定义属性.出于这个原因,我总是将这些自定义属性添加到typingAttributestextView.

每当我打字它按预期工作文本,所加入的文字具有自定义属性集,但每当我使用的预测建议更换一个字,整个单词的设置没有自定义属性.

据我所知,每次以编程方式设置属性文本时,都会typingAttributes自动清除.因此,当选择预测建议时,文本会以编程方式设置,因此我丢失了所有自定义属性.

有没有办法解决?

Jef*_*Sun 0

我也遇到了同样的问题,在进一步研究之后,我发现没有私有 API 就没有办法做到这一点。replaceCharactersInRange:withAttributedString:但是,在某些情况下,您可以通过覆盖文本视图的textStorage并在其中重新插入自定义属性来解决此问题。