Prosta koncepcja, jednak nie działa. Mam dwa przyciski w moim UIWebView
, przycisk Wstecz i przycisk przewijania do przodu. Przyciski z tyłu wywołają [self.webView goBack] i przesyłają dalej [self.webView goForward].iOS - problemy z canGoForward i canGoBack w webViewDidStartLoad
Teraz chcę wiedzieć w zasadzie, czy UIWebView
może wrócić. Jeśli tak, włącz przycisk Wstecz i pozwól mu wrócić i tak samo dla przycisku Dalej.
-(void)webViewDidStartLoad:(UIWebView *)webView
{
if([self.webView canGoForward]) {
[forwardArrowBtn setEnabled:YES];
} else {
[forwardArrowBtn setEnabled:NO];
}
if([self.webView canGoBack]) {
[backArrowBtn setEnabled:YES];
} else {
[backArrowBtn setEnabled:NO];
}
}
Problem polega na tym, że to nie działa przy pierwszym załadowaniu. Na przykład: kliknę link w obrębie UIWebView
, przechodzi do strony, ale przycisk Wstecz jest nadal wyłączony i nie można go kliknąć. Dopóki nie kliknę innego linku, przycisk Wstecz będzie włączony i zacznie działać.
Dlaczego to nie działa przy pierwszym przejściu na inną stronę i działa tylko po raz drugi?
Czy to praca dla bardziej prostego rozwiązania? To działa jednak ... – Romes
Czy możesz pokazać ... lub wyjaśnić lepiej ...? – Morkrom
'webViewDidFinishLoad:' jest właściwym miejscem do sprawdzenia. Problem wydaje się być błędem w WebKit. Aby uzyskać szczegółowe wyjaśnienie, zobacz [http://stackoverflow.com/questions/18948373/why-is-uiwebview-cangoback-no-in-ios7 to pytanie i odpowiedź] – Olie