2012-07-05 4 views
1

Я новичок в iPhone разработчик,Невозможно увидеть UIActivityIndicator в UIWebView

Я загрузка страниц в моем WebView, загрузка занимает слишком много времени, поэтому я тусклый, чтобы показать ActivityIndicator до загрузки страницы,

Вот мой фрагмент кода, но он не работает,

activityIndicator = [[UIActivityIndicatorView alloc]initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray]; 
    activityIndicator.frame = CGRectMake(200.0, 200.0, 100.0, 40.0); 
    activityIndicator.center = self.view.center; 
    [self.view addSubview: activityIndicator]; 

    _webview=[[UIWebView alloc]init]; 
    [_webview setBackgroundColor:[UIColor grayColor]]; 
    [_webview setDelegate:(id<UIWebViewDelegate>)self]; 
    [self.view addSubview:_webview]; 

    [_webview bringSubviewToFront:activityIndicator]; 

...

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

    [UIApplication sharedApplication].networkActivityIndicatorVisible = YES; 

    [activityIndicator startAnimating]; 
    activityIndicator.hidden=FALSE; 
} 

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

    [UIApplication sharedApplication].networkActivityIndicatorVisible = NO; 

    [activityIndicator stopAnimating]; 
    activityIndicator.hidden=TRUE; 
} 

, но я не могу видеть мои activityIndicator

Любая помощь будет оценена по достоинству.

ответ

3

Вы добавляете UIActivityIndicatorView непосредственно к self.view, а затем вы пытаетесь bringSubviewToFront от UIWebView. Проконсультируйтесь с:

[self.view bringSubviewToFront:activityIndicator]; 
1

Изменение [_webview bringSubviewToFront:activityIndicator]; в [self.view bringSubviewToFront:activityIndicator];

1

Вы также можете изменить порядок, в котором вы добавляете subviews. Добавьте WebView первый, а затем добавить индикатор активности:

_webview=[[UIWebView alloc]init]; 
[_webview setBackgroundColor:[UIColor grayColor]]; 
[_webview setDelegate:(id<UIWebViewDelegate>)self]; 
[self.view addSubview:_webview]; 

activityIndicator = [[UIActivityIndicatorView alloc]initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray]; 
activityIndicator.frame = CGRectMake(200.0, 200.0, 100.0, 40.0);//you should also keep the height and width equal 
activityIndicator.center = self.view.center; 
[self.view addSubview: activityIndicator]; 

И избавиться от строки, следующей: [_webview bringSubviewToFront:activityIndicator];

Смежные вопросы