2013-07-21 45 views
1

我有一个UITextView,当用户在某个视图中执行某些操作时,它会自动打印某种日志。iOS >> UITextView >>自动“跳转”到最后一行

我希望每当添加新行时都跳到最后一行。目前它只是停留在原来的位置,如果您希望看到新的线条,则必须手动向下滚动。

我该怎么做?

回答

2

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

所以,你可以这样做:

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

基本上,我们通过文本的过去最区间震荡。

+0

请让我知道为什么当最后一个范围是一个空行,这是行不通的。光标在我的情况下只是减半,就像在内容区域外。 – chrs

1

UITextViewUIScrollView的子类。因此,您可以查询其contentsSize并致电setContentOffset:animated:移至新文本。

1

没有试过,它应该工作

CGPoint bottomOffset = CGPointMake(0, theTextView.contentSize.height - theTextView.bounds.size.height); 
[theTextView setContentOffset:bottomOffset animated:YES]; 
相关问题