デリゲートメソッドwebView:didFailLoadWithError:にエラー処理(アラート表示)をいれたのですが、stopLoadingで読み込みをキャンセルした場合もこれが呼ばれてしまう。
さぁ困ったぞ、と1日経って良く見てみたら、NSErrorでエラー内容が取れるではないかと。
このリファレンスの「URL Loading System Error Codes」という項目にNSURLErrorDomainのエラー一覧があります。
NSURLErrorCancelledのときはアラート表示をしないという処理で大丈夫そうです。
以下ソース。
// エラー - (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error { LOG(@"UIWebView: error"); [UIApplication sharedApplication].networkActivityIndicatorVisible = NO; // stopLoadingでキャンセルされた場合はアラートを表示しない if (!( [error.domain isEqualToString:NSURLErrorDomain] && error.code == NSURLErrorCancelled)) { // アラート表示 [self showAlert]; } [self updateButtonStatus]; }できました。良さそうです。
0 件のコメント:
コメントを投稿