UITextview不会滚动到顶部

Ada*_*oli 0 text scroll uitextview swift display

我使用UITextView在ViewDidLoad()中显示长文本:

var story1 = "Researchers on Friday introduced the stunningly realistic-looking interactive humanoid robot to the world, and she reacted by nodding her head, squinting, moving her hand and eyeballs and telling assembled local photographers, with her speech synched to her lip movements, to snap her face from a more flattering angle. Girl's got spirit. \n\nJia Jia made her public debut at the University of Science and Technology of China, where she came to life over the course of three years. While her rosy cheeks and pink lips make her look like she has blood running through her actuators, she still has a way to go before she'll be confused with a human. Her expressions are currently limited to 'microexpressions' and her speech has that distinct stiffness that screams 'I am a robot and I will one day chase you from your home'\n\......." // a very long text with many rows
self.storyTextView.text = story1
Run Code Online (Sandbox Code Playgroud)

如果我Scrolling Enabled为storyTextView 设置,textview将显示不是从头开始的文本.我可以在文本的中间(或底部)看到滚动指示器.

见截图1. textview不会显示从开头的文本

我试过了

self.storyTextView.scrollsToTop = true
Run Code Online (Sandbox Code Playgroud)

但它没有帮助.

如果我取消选中Scrolling Enabled,或者文本不是太长而无法在UITextView中显示整个文本,它将从头开始按预期显示.见截图2.

textview显示从开始

有没有办法从文本的开头显示长文本(将滚动指示器移动到顶部)?我检查了约束和布局,但似乎没有关系.我做了很多搜索但直到现在都没有运气.我可能会错过一些简单的设置,但任何人都可以帮助我.

Ale*_*loz 5

使用contentOffset属性:

textView.contentOffset = CGPointZero
Run Code Online (Sandbox Code Playgroud)

Swift 3更新:

textView.contentOffset = CGPoint.zero
Run Code Online (Sandbox Code Playgroud)

  • 谢谢.你是对的.我从另一个问题的答案中得知,这需要在viewDidLayoutSubviews()中完成.http://stackoverflow.com/questions/28053140/uitextview-is-not-scrolled-to-top-when-loaded (2认同)