如何在uiwebview上设置滚动位置

我想去我的uiwebview加载指定行。 我试过了

[webView stringByEvaluatingJavaScriptFromString:@“window.scrollTo(0.0,100.0)”];

但它不工作。 我的webview仍然从页面顶部开始。 我只是不知道它是因为我加载UIView内的UIWebview 。 检查我的UIView下面的代码:

 - (void)loadView { webview = [[WebViewDetail alloc]initWithFrame:[UIScreen mainScreen].applicationFrame]; //initialize a mainView is a UIWebVIew webview.managedObjectContext = self.managedObjectContext; webview.kitab = self.kitab; webview.currentPasal = self.pasal; self.title = [NSString stringWithFormat:@"%@ %d", self.kitab, webview.currentPasal]; self.view=webview; //make the mainView as the view of this controller } 

我把我的UIWebView滚动定位脚本:

 - (void)webViewDidFinishLoad:(UIWebView *)webView { int height = [[webView stringByEvaluatingJavaScriptFromString:@"document.body.offsetHeight;"] intValue]; NSString* javascript = [NSString stringWithFormat:@"window.scrollBy(0, %d);", height]; [self stringByEvaluatingJavaScriptFromString:javascript]; } 

在这种情况下,我想把我的uiwebview到视图加载时,页面的底部。 但它完全不工作,为什么? 我做错了吗?

尝试

 webview.scrollView.contentOffset = CGPointMake(0, 100); 

确保将视图控制器设置为您的Web视图为UIWebViewDelegate ,并在头文件(.h)的@interface中声明。

 [yourWebView setDelegate:self]; 

然后,在webViewDidFinishLoad:方法中,插入以下代码:

 [yourWebView.scrollView scrollRectToVisible:CGRectMake(0, yourWebView.bounds.size.height + 100, 1, 1) animated:NO];