UITextView总是显示在内容底部滚动吗?

3
我正在使用带有自动布局的故事板,场景中包含有一些文本的UITextView,如下图所示:

enter image description here

但是每当我在运行应用程序时进入此场景,它会变成以下样子:

enter image description here
我进行了大量研究并尝试了以下代码,但仍然无法解决问题:

[self.scrollView setContentOffset:CGPointZero animated:NO];

非常感谢您的帮助。


可能是UITextView从底部或文本中间开始的重复问题。 - Saranjith
3个回答

4
尝试以下方法,希望能有所帮助:
[yourTextView scrollRectToVisible:CGRectMake(0,0,1,1) animated:YES];

或者

viewDidLayoutSubviews中设置内容偏移量,以使其生效。

- (void)viewDidLayoutSubviews {
[yourTextView setContentOffset:CGPointZero animated:NO];
}

viewDidLoad方法中

[yourTextView scrollRangeToVisible:NSMakeRange(0, 1)];

我不确定,但可能与自动布局有关。 - Ronak Chaniyara

1

Swift 4

contentTextView.scrollRangeToVisible(NSRange(location: 0, length: 0))

如果你想避免你的TextView滚动其内容,最好使用scrollRectToVisible方法。self.textView.scrollRectToVisible(CGRect.init(x: 0, y: 0, width: 1, height: 1), animated: false) - Rory Prior

0
这是成功的方法:只需设置UITextView的文本属性,然后使用位置为0,长度为0的NSRange调用scrollRangeToVisible。我的文本视图是不可编辑的,我测试了可选择和不可选择两种情况(两种情况都没有影响结果)。
代码:
[textview scrollRectToVisible:NSRange(0, 0) animated:YES];

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接