我想让我的UIWebView加载后自动滚动到指定的行。 我尝试使用下面的代码:
[webView stringByEvaluatingJavaScriptFromString:@"window.scrollTo(0.0, 100.0)"];
但是它没有起作用,我的webview仍然从页面顶部开始显示。
我怀疑这是因为我将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在视图加载时滚动到页面底部。 但是它完全不起作用,为什么? 我做错了什么吗?
webViewDidFinishLoad
之后设置一个1秒的定时器,看看是否会有滚动效果。 - DanielwebViewDidFinishLoad
完成后,某些东西正在滚动视图。我不知道那个东西是如何工作的,但我猜测可能有一个稍后可以使用的方法。 - Daniel