2

UIWebView shouldStartLoadingWithRequestiOSでメソッドの実行が終了した後に関数を呼び出す方法は?

performselector:afterdelayネットワークが低いと正確な結果が得られない可能性があるため、使用したくありません。

4

3 に答える 3

1

これらの方法を使用すると、役立つ場合があります。

- (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.
    }
于 2013-03-19T09:22:01.997 に答える
1

webViewDidFinishLoad:このメソッドは、Web ビューの読み込みが完了した後に呼び出されます。

- (void)webViewDidFinishLoad:(UIWebView *)webView

パラメーター

  • webView :
    Web ビューの読み込みが完了しました。

  • 利用
    可能時期iOS 2.0以降で利用可能。

于 2013-03-19T09:24:34.060 に答える
0

UIWebViewDelegate Protocolは、状況に応じて使用できるいくつかの方法を提供します。

後に呼び出される最初のメソッドはshouldStartLoadWithRequestwebViewDidStartLoad:その名前が示すようにWebView、フレームのロードを開始すると呼び出されます。あなたの質問から、これは最も適切な方法のようです。

以前の回答で提供された他のオプションは、フレームのロードが終了するたび、webViewDidFinishLoad:およびフレームのロードに失敗するたびにwebView:didFailLoadWithError:それぞれ呼び出されます。UIWebView

これは、ページの各フレームの読み込みが開始されようとしている、開始されたばかり、終了した、または失敗したUIWebViewときにスローされるため、上記のすべてのメソッドが実際に読み込みを完了する前に複数回呼び出される可能性があることに注意してください。UIWebView

詳細については、UIWebViewDelegateプロトコルのドキュメントを参照してください。

于 2013-03-19T10:11:56.157 に答える