几个UIWebView和一个活动微调器

时间:2011-08-09 21:21:49

标签: android-activity uiwebview spinner

我有一个设置有三个不同的UIWebViews,它们从互联网上加载数据。他们完成所需的时间当然和他们完成的顺序也不同。

他们开始加载这样的东西(单独的线程......):

- (void)update {
    [spinner startAnimating];
    [self performSelectorInBackground:@selector(webView1) withObject:nil];
    [self performSelectorInBackground:@selector(webView2) withObject:nil];
    [self performSelectorInBackground:@selector(webView3) withObject:nil];
}

当第一个完成后,它会停止微调器:

- (void)webViewDidFinishLoad:(UIWebView *)webView {
    [spinner stopAnimating];
}

我希望微调器在所有三个UIWebView完成加载时停止。我该如何以简单的方式管理它?

2 个答案:

答案 0 :(得分:0)

这样的东西?

- (void)webViewDidFinishLoad:(UIWebView *)webView {
        end = YES;
        for (int i = 0 ; i < 3 ; i ++)
         if (webViews[i].loading)
            end = NO;

        if (end)
            [spinner stopAnimating];
    }

答案 1 :(得分:0)

这确实有效(有点......)

- (void)webViewDidFinishLoad:(UIWebView *)webView {
    if (!webViewOne.loading && !webViewTwo.loading && !webViewThree.loading)
        [spinner stopAnimating];
}

但有几次,在所有三个webview完成加载之前,微调器停止了。我想这是因为我的一些应该启动webview的进程尚未启动webview。因此if语句无论如何都可能是真的,如果一个进程比另一个进程慢得多......嗯,我需要检查一下我的进程没有运行。有什么想法吗?