Concepto simple, sin embargo, no funciona. Tengo dos botones en mi UIWebView
, un botón de retroceso y un botón de avance. El botón Atrás llama a [self.webView goBack] y reenviar [self.webView goForward].iOS: problemas con canGoForward y canGoBack en webViewDidStartLoad
Ahora quiero saber básicamente si el UIWebView
puede volver atrás. Si es así, habilite el botón Atrás, y déjelo retroceder, y lo mismo para el botón de reenvío.
-(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];
}
}
Problema es que esto no funciona en la primera carga. Por ejemplo: hago clic en un enlace dentro del UIWebView
, va a la página, pero el botón Atrás aún está desactivado y no se puede hacer clic. No hasta que haga clic en otro enlace, el botón Atrás se mostrará habilitado y comenzará a funcionar.
¿Cómo es que esto no funciona la primera vez que vas a una página diferente, y solo funciona la segunda vez?
¿Es esto una solución para una solución más simple? Sin embargo funciona ... – Romes
¿Puedes mostrar ... o explicar mejor ...? – Morkrom
'webViewDidFinishLoad:' es el lugar correcto para el control. El problema parece ser un error en WebKit. Para obtener una explicación detallada, consulte [http://stackoverflow.com/questions/18948373/why-is-uiwebview- cangoback-no-in-ios7 this SO question & answer] – Olie