ios – 在UITextView上替换属性文本时维护自定义属性

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

每当我输入文本时它按预期工作,添加的文本都设置了自定义属性,但每当我使用预测性建议替换单词时,整个单词都设置为没有自定义属性.

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

有没有办法解决

解决方法

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

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...