我有一个UITextView,当用户在某个视图中执行某些操作时,它会自动打印某种日志。iOS >> UITextView >>自动“跳转”到最后一行
我希望每当添加新行时都跳到最后一行。目前它只是停留在原来的位置,如果您希望看到新的线条,则必须手动向下滚动。
我该怎么做?
我有一个UITextView,当用户在某个视图中执行某些操作时,它会自动打印某种日志。iOS >> UITextView >>自动“跳转”到最后一行
我希望每当添加新行时都跳到最后一行。目前它只是停留在原来的位置,如果您希望看到新的线条,则必须手动向下滚动。
我该怎么做?
我还没有试过这个,但根据文档有- (void) scrollRangeToVisible:(NSRange)range
。
所以,你可以这样做:
[myTextView scrollRangeToVisible:NSMakeRange([myTextView.text length], 0)]
基本上,我们通过文本的过去最区间震荡。
UITextView
是UIScrollView
的子类。因此,您可以查询其contentsSize
并致电setContentOffset:animated:
移至新文本。
没有试过,它应该工作
CGPoint bottomOffset = CGPointMake(0, theTextView.contentSize.height - theTextView.bounds.size.height);
[theTextView setContentOffset:bottomOffset animated:YES];
请让我知道为什么当最后一个范围是一个空行,这是行不通的。光标在我的情况下只是减半,就像在内容区域外。 – chrs