iPhone - 如何让自定义浏览器能够检测是否需要启用/禁用后退/前进按钮

Ale*_*ler 2 iphone uiwebview uiwebviewdelegate

大家好!我有一个tumblr应用程序,我正在开发,我有一个按钮,推动一个模态视图,包含webview和底部的工具栏,刷新,后退,前进和完成按钮.后退和刷新按钮工作,但我希望能够判断webview是否可以实际返回/转发,如果没有,则禁用按钮..我已尝试下面的代码,图像和启用/禁用更改.

- (IBAction)refreshPage {
    [signUpWebView reload];
}

- (IBAction)goBack {
    [signUpWebView goBack];
}

- (IBAction)goForward {
    [signUpWebView goForward];
}


-(void)webViewDidFinishLoad:(UIWebView *)webView
{
    // Enable or disable back
    if ([signUpWebView canGoBack]) {
        [backOnePage setEnabled:YES];
        backOnePage.image = [UIImage imageNamed:@"backButton"];
    } else {
        [backOnePage setEnabled:NO];
        backOnePage.image = [UIImage imageNamed:@"backButtonDisabled"];
    }

    // Enable or disable forward
    if ([signUpWebView canGoForward]) {
        [forwardOnePage setEnabled:YES];
        forwardOnePage.image = [UIImage imageNamed:@"forwardButton"];
    } else {
        [forwardOnePage setEnabled:NO];
        forwardOnePage.image = [UIImage imageNamed:@"forwardButtonDisabled"];
    }

}
Run Code Online (Sandbox Code Playgroud)

任何建议将不胜感激!

Ann*_*nne 8

我建议将前进和后退按钮直接绑定到UIWebview.

在此输入图像描述

像这样自动启用和禁用:

- (void)webViewDidStartLoad:(UIWebView *)mwebView {
    backButton.enabled = (webView.canGoBack);
    forwardButton.enabled = (webView.canGoForward);
}

- (void)webViewDidFinishLoad:(UIWebView *)webView {
    backButton.enabled = (webView.canGoBack);
    forwardButton.enabled = (webView.canGoForward);
}
Run Code Online (Sandbox Code Playgroud)