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の読み込みが終了すると、画像は再び「丸い矢印」に変わります。 WebViewがコンテンツを対応するデリゲートメソッドをロードしている間に「停止」を押すと問題になります。 - (void)webViewDidFinishLoad:(UIWebView *)webViewが呼び出されません。どうして ?どのようにそのような機能を実装するのですか?
ように変化しますか?私はそれがロードを停止し、webViewDidFinishLoadメソッドを呼び出す必要があると思った.... – Stas
それは読み込みを停止し、読み込みを停止すると、読み込みが完了したことをどのように通知できるか(webViewDidFinishLoad).. –
mmはい。 - WebViewが実際にロード要求を完了したときに、webViewDidFinishLoadが呼び出されました。 – Stas