1

我有一个 UITextView,只要用户在某个视图中做某事,它就会自动打印某种日志。

每当添加新行时,我希望它“跳转”到最后一行。目前它只是停留在原处,如果您希望查看新行,您必须手动向下滚动。

我怎么做?

4

3 回答 3

2

我还没有尝试过,但是根据文档,有- (void) scrollRangeToVisible:(NSRange)range.

所以你会这样做:

[myTextView scrollRangeToVisible:NSMakeRange([myTextView.text length], 0)]

基本上,我们会通过您的文本的超出范围。

于 2013-07-21T10:03:10.863 回答
1

UITextView是 的子类UIScrollView。因此,您可以查询它contentsSize并调用setContentOffset:animated:以移动到新文本。

于 2013-07-21T10:03:00.853 回答
1

这个没试过,应该可以

CGPoint bottomOffset = CGPointMake(0, theTextView.contentSize.height - theTextView.bounds.size.height);
[theTextView setContentOffset:bottomOffset animated:YES];
于 2013-07-21T10:07:07.057 回答