iPad用のObjective-cプロジェクトにUIWebViewを持つViewControllerがあります。 html(loadHtmlStringで)を追加すると、loadHtmlの前にあるスクロール位置を維持しようとしますが、手助けできず、先頭に戻ります。 は、ここで私が使用して線です:私は私のコード 内の異なる場所で、値「scrollY」をテストし、それは私がしたい値scrollPositionにとどまるが、それが終わるときに、画面上に表示 UIWebView scrollToトップへ戻る
scrollPosition = [[webView stringByEvaluatingJavaScriptFromString: @"scrollY"] intValue];
[webView loadHTMLString:html baseURL:nil];
[webView stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"window.scrollTo(0, %d);",scrollPosition]];
WebViewは常に一番上にあります(scrollY値は0になります)。 これがなぜ起こるのか理解できる人がいますか?
私はオンラインで数時間、StackOverflowでも確認しました。 私は別の解決策を試しました。 "onclick =" scroll;); falseを返しますが、役に立たない。 webViewを自己委譲し、webViewDidFinishLoadのscrollToを更新しようとしましたが、 WebViewDidFinishLoadは呼び出されません(ブレークポイントに達していません)。インターフェイスと.hの.mをインターフェイスに追加し、ViewDidLoadに次の行を追加しました:webView.delegate = self;
ありがとうございました。