How do I force a UITextView to scroll to the top every time I change the text?
UITextView*note;
[note setContentOffset:CGPointZero animated:YES];
This does it for me.
Swift version (Swift 4.1 with iOS 11 on Xcode 9.3):
note.setContentOffset(.zero, animated: true)
If anyone has this problem in iOS 8, I found that just setting the UITextView's
text property, then calling scrollRangeToVisible
with an NSRange
with location:0
, length:0
, worked. My text view was not editable, and I tested both selectable and not selectable (neither setting affected the result). Here's a Swift example:
myTextView.text = "Text that is long enough to scroll"
myTextView.scrollRangeToVisible(NSRange(location:0, length:0))
And here is my solution...
override func viewDidLoad() {
textView.scrollEnabled = false
textView.text = "your text"
}
override func viewDidAppear(animated: Bool) {
textView.scrollEnabled = true
}