首页 > 解决方案 > UITextView.highlight 自动滚动到文档底部

问题描述

我使用 UITextView 来显示文档。在文档中,用户可以点击一个单词,它会以红色突出显示。

这工作正常,除非文档大于 UITextView 的大小。当我调用此代码时:

myTextView.highlight(charPos: wordIndexInDocument, length: wordLength)

该单词正确突出显示,但文档滚动到底部。

我尝试了以下方法,这是在其他地方推荐的,但它不起作用。

 myTextView.isScrollEnabled = false
 myTextView.highlight(charPos: wordIndexInDocument, length: wordLength)
 myTextView.isScrollEnabled = true

如果我用高亮功能注释掉语句,选中的单词不会高亮,但不会滚动。所以那条线肯定会导致滚动。

此代码位于 UIView 的子类中,而不是 UIViewController。

当用户突出显示一个单词时,我需要文档保持原位。任何想法将不胜感激。

标签: swiftuiscrollviewuitextview

解决方案


尝试使用scrollRangeToVisible并给出突出显示文本的范围

textView.scrollRangeToVisible(NSRange(location: 0, length: 0))

推荐阅读