0

我有一个带有委托方法的 UIWebview

webViewDidStartLoad webViewDidFinishLoad

但是,在页面上,我正在加载一个 facebook 聊天组件,无论出于何种原因,它都无法正确加载(缓存问题?fb 问题?)它一遍又一遍地访问服务器,导致我的两个委托方法被一遍又一遍地调用(它们唯一的用途是显示和隐藏活动指示器,因此我留下了一个闪烁的活动指示器)

当页面加载但仍在“尝试”加载我无法控制的外部内容时,是否有停止调用这些方法的方法?

  - (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。由于加载的网站中的 AJAX 调用,可能会多次调用委托。所以,使用[webView setDelegate:nil].

希望能帮助到你。

于 2012-03-01T18:49:13.253 回答