我想存储webView的当前滚动位置以及我再次启动应用程序时。我想再次恢复滚动位置..
怎么做???
答案 0 :(得分:6)
UIWebView不是UIScrollView的子类,因此您无法以“正常”方式执行此操作。
看起来这个javascript解决方案可以满足您的需求:http://shortdivision.wordpress.com/2008/10/14/going-back-to-the-last-place-you-were-in-a-uiwebview/
答案 1 :(得分:5)
由于iOS5 UIWebView具有scrollView
属性。您可以使用如下定义的CGPoint
类型的变量:
CGPoint _scrollPosition;
然后初始化它:
_scrollPosition = CGPointMake(0, 0);
如果您需要存储当前位置,请使用:
_scrollPosition = _webView.scrollView.contentOffset;
实施UIWebViewDelegate
协议并添加代码以恢复-(void)webViewDidFinishLoad:(UIWebView *)webView
内的位置:
- (void)webViewDidFinishLoad:(UIWebView *)webView
{
// .... your other code here ...
if (0 < _scrollPosition.y) {
_webView.scrollView.contentOffset = _scrollPosition;
_scrollPosition = CGPointMake(0, 0);
}
}