2

在 Safari 中,当您

  1. 访问一个很长的页面,例如 w3c.org,向下滚动到页面中的某个位置
  2. 杀死野生动物园
  3. 再次打开 Safari,它会自动记住您在页面中的最后位置

如何做到这一点UIWebView?或者有可能吗?

谢谢。

4

1 回答 1

10

我能想到的最简单的方法是保存 Web 视图contentOffset.y,然后在下次加载时将其设置回您保存的内容。

NSUserDefaults即使应用程序被终止,或者即使安装了更新,将其保存到也将允许恢复该值。

[[NSUserDefaults standardUserDefaults] setFloat:myWebView.scrollView.contentOffset.y forKey:@"offsetKey"];
[[NSUserDefaults standardUserDefaults] synchronize];

然后恢复:

- (void)webViewDidFinishLoad:(UIWebView *)webView
{
    [myWebView.scrollView setContentOffset:CGPointMake(0, [[NSUserDefaults standardUserDefaults] floatForKey:@"offsetKey"]) animated:YES];
}

^^未经测试,让我知道它如何为你工作。

于 2012-08-26T10:03:22.743 回答