UIWebView
shouldStartLoadingWithRequest
iOSでメソッドの実行が終了した後に関数を呼び出す方法は?
performselector:afterdelay
ネットワークが低いと正確な結果が得られない可能性があるため、使用したくありません。
UIWebView
shouldStartLoadingWithRequest
iOSでメソッドの実行が終了した後に関数を呼び出す方法は?
performselector:afterdelay
ネットワークが低いと正確な結果が得られない可能性があるため、使用したくありません。
これらの方法を使用すると、役立つ場合があります。
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {
return YES;
}
- (void)webViewDidFinishLoad:(UIWebView *)webView {
//this method will call after successful loading
}
- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error {
//this method will call after getting any error while loading the web view.
}
webViewDidFinishLoad:
このメソッドは、Web ビューの読み込みが完了した後に呼び出されます。
- (void)webViewDidFinishLoad:(UIWebView *)webView
パラメーター
webView :
Web ビューの読み込みが完了しました。
利用
可能時期iOS 2.0
以降で利用可能。
UIWebViewDelegate Protocol
は、状況に応じて使用できるいくつかの方法を提供します。
後に呼び出される最初のメソッドはshouldStartLoadWithRequest
、webViewDidStartLoad:
その名前が示すようにWebView
、フレームのロードを開始すると呼び出されます。あなたの質問から、これは最も適切な方法のようです。
以前の回答で提供された他のオプションは、フレームのロードが終了するたび、webViewDidFinishLoad:
およびフレームのロードに失敗するたびにwebView:didFailLoadWithError:
それぞれ呼び出されます。UIWebView
これは、ページの各フレームの読み込みが開始されようとしている、開始されたばかり、終了した、または失敗したUIWebView
ときにスローされるため、上記のすべてのメソッドが実際に読み込みを完了する前に複数回呼び出される可能性があることに注意してください。UIWebView
詳細については、UIWebViewDelegateプロトコルのドキュメントを参照してください。