2012-03-17 17 views
-1

現在、私はipad画面で4つのwebviewを表示し、それらに4つの異なるURLを表示しようとしているサンプルを開発しています。複数のWebビューで複数のアクティビティインジケータアニメーションを停止するにはどうすればよいですか?

すべてのWebページがwebviewに完全に表示されています。

また、ウェブページの読み込みが開始されると、4つのアクティビティインジケータが表示されます。

しかし、画面に読み込まれると、それぞれのウェブページでアクティビティインジケータを1つずつ停止する方法がわかりません。

-(void)createWebView 
{ 

    //******************** First ********* 

    firstWebView=[[UIWebView alloc]init]; 
    firstWebView.frame=CGRectMake(10, 50, 350, 470); 
    firstWebView.delegate=self; 
    firstIndicator = [[UIActivityIndicatorView alloc] 
             initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge]; 
    firstIndicator.center = CGPointMake(160, 240); 
    firstIndicator.hidesWhenStopped = YES; 
    [self.firstWebView addSubview:firstIndicator]; 
    [firstIndicator startAnimating]; 
    firstWebView.backgroundColor=[UIColor grayColor]; 
    NSURL *firstUrl = [NSURL URLWithString:@"http://www.techtree.com"]; 
    NSURLRequest *firstRequestObj = [NSURLRequest requestWithURL:firstUrl]; 
    [firstWebView loadRequest:firstRequestObj]; 
    [self.view addSubview:firstWebView]; 

    //******************* Second ********* 

    secondWebView=[[UIWebView alloc]init]; 
    secondWebView.frame=CGRectMake(405, 50, 350, 470); 
    secondWebView.delegate=self; 

    secondIndicator = [[UIActivityIndicatorView alloc] 
         initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge]; 
    secondIndicator.center = CGPointMake(160, 240); 
    secondIndicator.hidesWhenStopped = YES; 
    [self.secondWebView addSubview:secondIndicator]; 
    [secondIndicator startAnimating]; 
    secondWebView.backgroundColor=[UIColor grayColor]; 

    NSURL *secondUrl = [NSURL URLWithString:@"http://www.facebook.com"]; 
    NSURLRequest *secondRequestObj = [NSURLRequest requestWithURL:secondUrl]; 
    [secondWebView loadRequest:secondRequestObj]; 
    [self.view addSubview:secondWebView]; 


    //****************** Third ************ 

    thirdWebView=[[UIWebView alloc] init]; 
    thirdWebView.frame=CGRectMake(10, 528, 350, 470); 
    thirdWebView.delegate=self; 


    thirdIndicator = [[UIActivityIndicatorView alloc] 
         initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge]; 
    thirdIndicator.center = CGPointMake(160, 240); 
    thirdIndicator.hidesWhenStopped = YES; 
    [self.thirdWebView addSubview:thirdIndicator]; 
    [thirdIndicator startAnimating]; 

    thirdWebView.backgroundColor=[UIColor grayColor]; 

    NSURL *thirdUrl = [NSURL URLWithString:@"http://www.yahoo.com"]; 
    NSURLRequest *thirdRequestObj = [NSURLRequest requestWithURL:thirdUrl]; 
    [thirdWebView loadRequest:thirdRequestObj]; 
    [self.view addSubview:thirdWebView]; 

    //***************** Fourth ************ 
    fourthWebView=[[UIWebView alloc] init]; 
    fourthWebView.frame=CGRectMake(405,528, 350, 470); 
    fourthWebView.delegate=self; 


    fourthIndicator = [[UIActivityIndicatorView alloc] 
         initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge]; 
    fourthIndicator.center = CGPointMake(160, 240); 
    fourthIndicator.hidesWhenStopped = YES; 
    [self.fourthWebView addSubview:fourthIndicator]; 
    [fourthIndicator startAnimating]; 

    fourthWebView.backgroundColor=[UIColor grayColor]; 

    NSURL *fourthUrl = [NSURL URLWithString:@"http://stackoverflow.com"]; 
    NSURLRequest *fourthRequestObj = [NSURLRequest requestWithURL:fourthUrl]; 
    [fourthWebView loadRequest:fourthRequestObj]; 
    [self.view addSubview:fourthWebView]; 


    //******************** Memory Managemt ********** 
    [firstWebView release]; 
    [secondWebView release]; 
    [thirdWebView release]; 
    [fourthWebView release]; 

    [firstIndicator release]; 
    [secondIndicator release]; 
    [thirdIndicator release]; 
    [fourthIndicator release]; 


} 

答えて

0
overwrite below delegate method and check which webview is loading finished like below 

- (void)webViewDidFinishLoad:(UIWebView *)webView 
{ 
    if(webView== firstWebView) 
    { 
    [firstIndicator setHidden:YES]; 
    } 
    else 
    { 
    so on... 
    } 
} 
+0

おかげで、それがすべてのWebページをロードするためにあまりにも多くの時間を取っているとして、私はそれをより速く行うことができますどのようにそのworking.Oneより質問。 – user1227928

関連する問題