如何使用进度指示器?
// ImplementviewDidLoad to do additional setup after loading the view, typically from anib.
- (void)viewDidLoad {
// 在此中加载 spinner ,注意其中的 WebView setDelegate:self 语句,有此句才能处理后续4个Web View 的重载过程
spinner= [[UIActivityIndicatorView alloc] initWithFrame:CGRectMake(0,0,50,50)];
[spinnersetCenter:CGPointMake(350, 350)]; // I do this because I'm in landscape mode
[spinnersetActivityIndicatorViewStyle:UIActivityIndicatorViewStyleGray];
[self.viewaddSubview:spinner]; // spinner is not visible until started
[webViewsetDelegate:self];
[superviewDidLoad];
}
#pragma mark -
#pragma mark Web View lifecycle
-(void)webViewDidStartLoad:(UIWebView *)webView
{
[spinnerstartAnimating];
//opaqueview.hidden = NO ;
}
-(void)webViewDidFinishLoad:(UIWebView *)webView
{
[spinnerstopAnimating];
// [spinner release]; *** 如在此使用此句将会导致出错,画面停止,特别是在同一画面不停刷新不同内容的情况下;同时也说明,有些情况下提前 release 一些变量会导致出问题。
//opaqueview.hidden = YES ;
}
- (BOOL)webView:(UIWebView *)webViewshouldStartLoadWithRequest:(NSURLRequest *)requestnavigationType:(UIWebViewNavigationType)navigationType
{
//[spinnerstartAnimating];
returnYES;
}
- (void)webView:(UIWebView *)webViewdidFailLoadWithError:(NSError *)error
{
[spinnerstopAnimating];
}