如何滚动到 UITextView 的顶部?
How to scroll to top of UITextView?
我下面的代码一直滚动到文本字段的底部。我怎样才能做相反的事情并让代码功能滚动到文本字段的开头?
let bottom = NSMakeRange(theTextView.text.characters.count - 1, 1)
theTextView.scrollRangeToVisible(bottom)
最明显的解决方案是将NSMakeRange
的location
参数设置为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()
我下面的代码一直滚动到文本字段的底部。我怎样才能做相反的事情并让代码功能滚动到文本字段的开头?
let bottom = NSMakeRange(theTextView.text.characters.count - 1, 1)
theTextView.scrollRangeToVisible(bottom)
最明显的解决方案是将NSMakeRange
的location
参数设置为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()