iOS - webViewDidStartLoad中canGoForward和canGoBack的问题

Rom*_*mes 5 uiwebview ios

简单的概念,但它不起作用.我有两个按钮UIWebView,一个后退按钮和一个前进按钮.后退按钮调用[self.webView goBack]并转发[self.webView goForward].

现在我想基本知道是否UIWebView可以回去.如果是这样,那么启用后退按钮,然后让它返回,前进按钮也是如此.

-(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];
    }
}
Run Code Online (Sandbox Code Playgroud)

问题是这对第一次加载不起作用.例如:我点击其中的链接UIWebView,它转到页面,但后退按钮仍然被禁用而且无法点击.直到我点击其他链接后,后退按钮才会启用并开始工作.

为什么第一次进入不同页面时这不起作用,只能第二次使用?

Aem*_*msn 12

我把按钮设置代码放在webViewDidStartLoad中解决了这个问题.编写一个方法并从webViewDidStartLoad,webViewDidFinishLoad和shouldStartLoadWithRequest中调用它.与我的应用程序完美配合.