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 に答える