【问题标题】:iphone UIWebView store the current scroll position?iphone UIWebView 存储当前滚动位置?
【发布时间】:2009-09-08 15:50:24
【问题描述】:

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

怎么做???

【问题讨论】:

    标签: iphone uiwebview


    【解决方案1】:

    UIWebView 不是 UIScrollView 的子类,因此您不能以“正常”方式进行操作。

    看起来这个 javascript 解决方案可以满足您的需求:http://shortdivision.wordpress.com/2008/10/14/going-back-to-the-last-place-you-were-in-a-uiwebview/

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-04-06
        • 1970-01-01
        相关资源
        最近更新 更多