iPhone中的UIWebView如何保存当前滚动位置?

5
我想要存储一个webView的当前滚动位置,然后在再次启动应用程序时,恢复该滚动位置。怎么做?
2个回答

6

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接