我想存储webView的当前滚动位置,以及当我再次启动应用程序时.我想再次恢复滚动位置..
怎么做 ???
UIWebView不是UIScrollView的子类,因此您无法以"正常"方式执行此操作.
看起来这个javascript解决方案将满足您的需求:http://shortdivision.wordpress.com/2008/10/14/going-back-to-the-last-place-you-were-in-a-uiwebview/
由于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); } }