iphone UIWebView存储当前滚动位置?

时间:2009-09-08 15:50:25

标签: iphone uiwebview

我想存储webView的当前滚动位置以及我再次启动应用程序时。我想再次恢复滚动位置..

怎么做???

2 个答案:

答案 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);
    }
}