ロードした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をページの下部に移動させたいと思います。しかし、それは完全に機能していません、なぜですか?私はそれを間違っていますか?
試してみてください
webview.scrollView.contentOffset = CGPointMake(0, 100);
WebビューがあるViewControllerをUIWebViewDelegate
に設定し、ヘッダーファイル(.h)の@interface
でこれを宣言していることを確認してください。
[yourWebView setDelegate:self];
次に、webViewDidFinishLoad:
メソッドに次のコードを挿入します。
[yourWebView.scrollView scrollRectToVisible:CGRectMake(0, yourWebView.bounds.size.height + 100, 1, 1) animated:NO];