我想指定加載的uiwebview上的行。 我試圖如何在uiwebview上設置滾動位置
[web視圖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轉到頁的底部當視圖被加載時。 但它完全不工作,爲什麼? 我做錯了嗎?
我把它放在webViewDidFinishLoad我UIWebView中和它不工作,滾動仍然顯示在頁面的頂部。任何其他想法? – dejoong
@dejoong:你確定你的頁面是可滾動的嗎?嘗試在1秒後觸發一個定時器,在'webViewDidFinishLoad'之後查看是否可以滾動。 – Dani
塔茲奇怪丹妮,當我觸發該方法(包含webview.scrollView.contentOffset = CGPointMake(0,100);)每1sec其工作,但如果我直接調用它的方法不工作。你知道爲什麼嗎? – dejoong