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