0

私はデリゲートメソッドを持つUIWebviewを持っています

webViewDidStartLoad webViewDidFinishLoad

ただし、ページでFacebookチャットコンポーネントをロードしていますが、何らかの理由で適切にロードできません(キャッシュの問題? fbの問題?) サーバーに何度もアクセスすると、2つのデリゲートメソッドが何度も呼び出されます(それらが使用される唯一のことは、アクティビティインジケーターの表示と非表示であるため、点滅するアクティビティインジケーターを残しました)

ページがロードされたが、まだ制御できない外部コンテンツをロードしようとしているときに、これらのメソッドの呼び出しを停止する方法はありますか?

  - (void)webViewDidStartLoad:(UIWebView *)webView {

    NSLog(@" I am in Webview did start");    

    if ( webView == self.myFlickView )
    {
       [UIApplication sharedApplication].networkActivityIndicatorVisible = YES;

    }     


}

- (void)webViewDidFinishLoad:(UIWebView *)webView {

    NSLog(@" I am in Webview did end");    

    if ( webView == self.myFlickView )
    {
       [UIApplication sharedApplication].networkActivityIndicatorVisible = NO;

    }     


}
4

1 に答える 1

0

webViewDidFinishLoad でデリゲートを nil に設定してみてください。デリゲートは、ロードされた Web サイトでの AJAX 呼び出しが原因で、おそらく数回呼び出されています。を使用します[webView setDelegate:nil]

それが役に立てば幸い。

于 2012-03-01T18:49:13.253 に答える