UITextView scrollRangeToVisible 使范围可见出现在顶部

Posted

技术标签:

【中文标题】UITextView scrollRangeToVisible 使范围可见出现在顶部【英文标题】:UITextView scrollRangeToVisible make range visible appear at the top 【发布时间】:2017-06-14 15:48:42 【问题描述】:

我目前正在使用 UITextView。当我使用 scrollRangeToVisible 时,它​​可以工作,但会将范围带到屏幕底部。我怎样才能把这个范围带到屏幕的顶部。 TLDR:UITextview 方法 scrollRangeToVisible 将感兴趣的字符带到视图底部。我希望它出现在人们的视野中。我怎样才能做到这一点?谢谢

【问题讨论】:

你能分享一张照片吗? 欢迎来到 Stack Overflow,请take the tour,确保您阅读How do I ask a good question? 并更新您的问题以提供更多信息。 【参考方案1】:

一种方法是:

在顶部找到所需范围的边界框 如果它低于当前顶行,则添加文本视图的高度 然后拨打.scrollRectToVisible()

您还需要一些错误和边界检查。我整理了一个扩展程序,如果你愿意,你可以试试:https://gist.github.com/DonMag/19daac863553c51725a56f0bc3296076

【讨论】:

感谢您的帮助!

以上是关于UITextView scrollRangeToVisible 使范围可见出现在顶部的主要内容,如果未能解决你的问题,请参考以下文章

当 UITextView 的文本超出 1 行时展开 UITextView 和 UITableView

选择另一个 UITextView 时,如何阻止 UITextView 退出第一响应者/关闭键盘?

从 UIView 中的 UITextView 复制文本后,UITextView 更改为 UIWebDocumentView?

UITextView 数据变化迅速

UITextView contentInset 在 iOS 7 上的 UITextView 中不起作用?

UITextView 设置属性后做啥?