在 UITextView 上替换属性文本时保持自定义属性
Posted
技术标签:
【中文标题】在 UITextView 上替换属性文本时保持自定义属性【英文标题】:Maintain custom attributes when replacing attributed text on UITextView 【发布时间】:2016-11-18 21:01:28 【问题描述】:我有一个可编辑的 UITextView,它加载了属性字符串。此属性化字符串由应用程序设置的自定义属性加载。出于这个原因,我总是将这些自定义属性添加到 textView 的typingAttributes
。
每当我输入文本时,它都会按预期工作,添加的文本会设置自定义属性,但每当我使用预测性建议替换单词时,整个单词都会设置为没有自定义属性。
据我所知,每次以编程方式设置属性文本时,typingAttributes
都会自动清除。因此,似乎在选择预测建议时,文本是以编程方式设置的,因此我丢失了所有自定义属性。
有没有办法解决这个问题?
【问题讨论】:
【参考方案1】:我也遇到了同样的问题,在进一步研究之后,我发现没有私有 API 就没有办法做到这一点。但是,在某些情况下,您可以通过在文本视图的 textStorage
中覆盖 replaceCharactersInRange:withAttributedString:
并在那里重新插入您的自定义属性来解决此问题。
【讨论】:
以上是关于在 UITextView 上替换属性文本时保持自定义属性的主要内容,如果未能解决你的问题,请参考以下文章
当弹出框被解除时,保持 UITextView 中的文本突出显示