Я пытаюсь реализовать кнопку остановки-перезагрузки для webView. Вот мой код:webView stopLoading issue
- (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 завершит загрузку изображения, снова измените его на «закругленную стрелку». Таким образом, проблема заключается в том, что я нажимаю «stop», в то время как webView загружает содержимое соответствующего метода делегата - (void) webViewDidFinishLoad: (UIWebView *) webView не вызывается. Зачем ? И как реализовать такую функциональность?
Хмм, что метод stopLoading тогда делать? Я думал, что это должно прекратить загрузку и вызвать метод webViewDidFinishLoad .... – Stas
он останавливает загрузку и, как говорится, останавливает загрузку, то как он может уведомить вас о том, что он закончил загрузку (webViewDidFinishLoad). –
мм yes..youre the right - не думал о том, что webViewDidFinishLoad вызывается, когда webView действительно заканчивает загрузку запроса – Stas