如何滚动到 UITextView 的顶部?

How to scroll to top of UITextView?

我下面的代码一直滚动到文本字段的底部。我怎样才能做相反的事情并让代码功能滚动到文本字段的开头?

let bottom = NSMakeRange(theTextView.text.characters.count - 1, 1)
theTextView.scrollRangeToVisible(bottom)

最明显的解决方案是将NSMakeRangelocation参数设置为0而不是theTextView.text.characters.count - 1

let bottom = NSRange(location: 0, length: 1)

更好的方法是注意 UITextView 扩展 UIScrollView。所以你可以设置 contentOffset:

theTextView.contentOffset = .zero

如果您想为滚动设置动画,请使用:

theTextView.setContentOffset(.zero, animated: true)

您可以使用此扩展程序:

extension UIScrollView {
    func scrollToTop() {
        let desiredOffset = CGPoint(x: 0, y: -contentInset.top)
        setContentOffset(desiredOffset, animated: true)
    }
}

用法:

textView.scrollToTop()