2

大家好!我有一个正在开发的 tumblr 应用程序,并且我有一个按钮,用于推送一个模式视图,该视图包含一个 web 视图和一个底部的工具栏,带有刷新、后退、前进和完成按钮。后退和刷新按钮有效,但是我希望能够判断 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"];
    }

}

任何建议将不胜感激!

4

2 回答 2

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);
}
于 2011-04-15T21:21:49.820 回答
0

当你第一次初始化你的 webView 时,试着用一个请求来启动它,像这样:

[signUpWebView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.google.com"]]];

因此,您正在初始化webViewwithloadRequest:而不是loadHTMLString:或类似的东西。

于 2011-04-15T21:23:51.627 回答