Safari では、
- w3c.org などの非常に長いページにアクセスし、ページ内のどこかまでスクロールします。
- サファリを殺す
- Safariを再度開くと、ページ内の最後の位置が自動的に記憶されます
でこれを行う方法はUIWebView
?それとも可能ですか?
ありがとう。
Safari では、
でこれを行う方法はUIWebView
?それとも可能ですか?
ありがとう。
これを実現するために私が考えることができる最も簡単な方法は、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];
}
^^テストされていません。どのように機能するか教えてください。