scrollRangeToVisible:如何滚动到UITextView的开头

n.e*_*ind 3 iphone cocoa-touch objective-c uitextview

一个初学者的头痛:一旦键盘被解除,我正试图滚动到我的UITextView的顶部.我试图从这里提取答案,但我担心它没有多大帮助.

我以为我用scrollRectToVisible做了这个,但没有任何反应.然后我想我应该尝试使用scrollRangeToVisible,但这会使我的应用程序崩溃...我确信我已经做了一些非常令人不安和错误的事情.如果有人可以提供帮助,我会很高兴:

- (IBAction)hideKeyboard:(id)sender {

//[textView scrollRectToVisible:CGRectMake(0, 0, 0, 0) animated:YES];

NSRange range = NSMakeRange(textView.text.length - (textView.text.length+1),1);
[textView scrollRangeToVisible:range];

textView.scrollEnabled = NO;
[textView resignFirstResponder];}
Run Code Online (Sandbox Code Playgroud)

编辑:

为遇到类似问题的任何人更新了代码:

- (IBAction)hideKeyboard:(id)sender {

//textView.scrollEnabled = NO;
[textView resignFirstResponder];

NSRange range = NSMakeRange(0,1);
[textView scrollRangeToVisible:range];
Run Code Online (Sandbox Code Playgroud)

}

Jam*_*ord 5

您创建的范围从-1开始!您可以按如下方式创建范围,这样更容易:

NSRange range = NSMakeRange(0, 1);

此范围从索引0(第一个字符)开始,并展开超过1个字符.

  • 对不起,我自己解决了.我需要在重新调整键盘后调用scrollRangeToVisible.很抱歉打扰. (2认同)