我想在我的uiwebview上加载指定行。 我试过了
[webView stringByEvaluatingJavaScriptFromString:@“window.scrollTo(0.0, 100.0)“];
但它不起作用。我的网页浏览仍然从页面顶部开始。
我只是想知道它,因为我在UIWebview
内加载了UIView
。
在我的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放到页面底部。 但它完全不起作用,为什么? 我做错了吗?
答案 0 :(得分:19)
尝试
webview.scrollView.contentOffset = CGPointMake(0, 100);
答案 1 :(得分:6)
确保将视图控制器设置为您的网络视图为UIWebViewDelegate
,并在头文件(.h)的@interface
中声明。
[yourWebView setDelegate:self];
然后,在webViewDidFinishLoad:
方法中,插入以下代码:
[yourWebView.scrollView scrollRectToVisible:CGRectMake(0, yourWebView.bounds.size.height + 100, 1, 1) animated:NO];