Chcę zapisać bieżącą pozycję przewijania w WebView i po ponownym uruchomieniu aplikacji. Chcę przywrócić pozycję przewijania ponownie ..iphone UIWebView zapisuje aktualną pozycję przewijania?
Jak to zrobić?
Chcę zapisać bieżącą pozycję przewijania w WebView i po ponownym uruchomieniu aplikacji. Chcę przywrócić pozycję przewijania ponownie ..iphone UIWebView zapisuje aktualną pozycję przewijania?
Jak to zrobić?
UIWebView nie jest podklasą UIScrollView, więc nie można tego zrobić w "normalny" sposób.
wygląda następująco javascript rozwiązania zrobi co trzeba: http://shortdivision.wordpress.com/2008/10/14/going-back-to-the-last-place-you-were-in-a-uiwebview/
Od iOS5 UIWebView ma scrollView
nieruchomości. Można użyć zmiennej typu CGPoint
zdefiniowane następująco:
CGPoint _scrollPosition;
Następnie zainicjowania go:
_scrollPosition = CGPointMake(0, 0);
Gdziekolwiek trzeba przechowywać obecnego wykorzystania pozycji:
_scrollPosition = _webView.scrollView.contentOffset;
wdrożenia protokołu UIWebViewDelegate
i dodaj kod, aby przywrócić pozycję wewnątrz: -(void)webViewDidFinishLoad:(UIWebView *)webView
:
- (void)webViewDidFinishLoad:(UIWebView *)webView
{
// .... your other code here ...
if (0 < _scrollPosition.y) {
_webView.scrollView.contentOffset = _scrollPosition;
_scrollPosition = CGPointMake(0, 0);
}
}