【问题标题】:webView stopLoading issuewebView stopLoading 问题
【发布时间】:2012-05-14 08:56:20
【问题描述】:

我正在尝试为 webView 实现停止重新加载按钮。这是我的代码:

- (IBAction)stopOrReloadButtonClick:(id)sender {
    if (self.webView.loading) {
        [self.webView stopLoading];
    }
    else {
        [self.webView reload];
    }
}

以及委托方法:

- (void)webViewDidStartLoad:(UIWebView *)webView {
    if (indicator != nil && indicator.isAnimating == NO) {
        [indicator startAnimating];
    }
    [self.stopReloadButton setImage:[UIImage imageNamed:@"Stop.png"] forState:UIControlStateNormal];
}

- (void)webViewDidFinishLoad:(UIWebView *)webView {
    [self.stopReloadButton setImage:[UIImage imageNamed:@"Refresh.png"] forState:UIControlStateNormal];
    [self setNavigationButtonsState];
    [indicator stopAnimating];
}

如您所见,功能如下: 如果 webView 已加载内容,则该按钮为“圆角箭头”。如果按下 webView 会重新加载当前页面并将按钮图像更改为“交叉”,这意味着停止重新加载。如果按下它应该停止重新加载页面。当 webView 完成加载图像时,图像再次变为“圆角箭头”。 所以问题是如果我在 webView 加载内容时按“停止”,则不会调用相应的委托方法 - (void)webViewDidFinishLoad:(UIWebView *)webView。为什么 ?以及如何实现这样的功能?

【问题讨论】:

    标签: iphone objective-c


    【解决方案1】:

    当 web 视图完成加载但您正在取消它不会被调用时调用此方法。
    所以把你的方法改成

    - (IBAction)stopOrReloadButtonClick:(id)sender {
        if (self.webView.loading) {
            [self.webView stopLoading];
            [self.stopReloadButton setImage:[UIImage imageNamed:@"Refresh.png"] forState:UIControlStateNormal];
            [self setNavigationButtonsState];
            [indicator stopAnimating];
    
        }
        else {
            [self.webView reload];
        }
    }
    

    【讨论】:

    • hmm,那么 stopLoading 方法是做什么的呢?我认为它应该停止加载并调用 webViewDidFinishLoad 方法....
    • 它会停止加载,正如它所说的停止加载,那么它如何通知您它已完成加载(webViewDidFinishLoad)..
    • mm 是的..你是对的 - 没想到当 webView 真正完成加载请求时调用 webViewDidFinishLoad
    • 如果stopLoading webView(_:didFailLoadWithError:): 被调用错误The operation couldn’t be completed. (NSURLErrorDomain error -999.)
    猜你喜欢
    • 2021-02-17
    • 2019-11-24
    • 1970-01-01
    • 1970-01-01
    • 2011-09-24
    • 2019-05-16
    • 2015-06-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多