1
我正在尝试为webView实现stop-reload按钮。这里是我的代码:webView stopLoading问题
- (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];
}
正如你所看到的功能如下: 如果web视图已加载内容的按钮是“圆箭头”。如果按下webView重新加载当前页面并将按钮图像更改为“交叉”,则意味着停止重新加载。如果按下它应该停止重新加载页面。当webView完成将图像更改再次加载到“圆角箭头”时。 所以问题是,如果我按下“停止”,而webView加载内容通讯员委托方法 - (无效)webViewDidFinishLoad:(UIWebView *)webView不会被调用。为什么?以及如何实现这样的功能?
嗯,什么stopLoading方法怎么办呢?我认为它应该停止加载和调用webViewDidFinishLoad方法.... – Stas
它停止加载,因为它说停止加载,那么它如何通知你,它已完成加载(webViewDidFinishLoad).. –
毫米是的..你是对的 - 没有考虑到webViewDidFinishLoad在webView真正完成加载请求时被调用 – Stas