【问题标题】:UITextView.highlight automatically scrolls to bottom of documentUITextView.highlight 自动滚动到文档底部
【发布时间】:2020-12-14 07:49:42
【问题描述】:

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

这很好用,除非文档大于 UITextView 的大小。当我调用此代码时:

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

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

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

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

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

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

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

【问题讨论】:

    标签: swift uiscrollview uitextview


    【解决方案1】:

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

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

    【讨论】:

    • 我试过这个,它确实阻止了文档滚动到底部。不幸的是,它会导致屏幕闪烁,这对最终用户来说非常烦人。我想我需要一种在使用 UITextView.highlight 时真正禁用滚动的方法。
    猜你喜欢
    • 2021-07-25
    • 2016-11-13
    • 2017-02-07
    • 1970-01-01
    • 2016-09-15
    • 2018-08-21
    • 2012-01-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多