第一种方法:使用UIView and UIActivityIndicatorView
//创建UIWebView WebView = [[UIWebView alloc] initWithFrame:CGRectMake(0, 44, 320, 400)]; [WebView setUserInteractionEnabled:NO]; [WebView setBackgroundColor:[UIColor clearColor]]; [WebView setDelegate:self]; [WebView setOpaque:NO];//使网页透明 NSString *path = @"http://www.baidu.com"; NSURL *url = [NSURL URLWithString:path]; [WebView loadRequest:[NSURLRequest requestWithURL:url]]; //创建UIActivityIndicatorView背底半透明View UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)]; [view setTag:103]; [view setBackgroundColor:[UIColor blackColor]]; [view setAlpha:0.8]; [self.view addSubview:view]; activityIndicator = [[UIActivityIndicatorView alloc] initWithFrame:CGRectMake(0.0f, 0.0f, 32.0f, 32.0f)]; [activityIndicator setCenter:view.center]; [activityIndicator setActivityIndicatorViewStyle:UIActivityIndicatorViewStyleWhite]; [view addSubview:activityIndicator]; [self.view addSubview:WebView]; [view release]; [WebView release]; //开始加载数据 - (void)webViewDidStartLoad:(UIWebView *)webView { [activityIndicator startAnimating]; } //数据加载完 - (void)webViewDidFinishLoad:(UIWebView *)webView { [activityIndicator stopAnimating]; UIView *view = (UIView *)[self.view viewWithTag:103]; [view removeFromSuperview]; }?
第二种方法:使用UIAlertView and UIActivityIndicatorView
//加载网页动画 - (void)webViewDidStartLoad:(UIWebView *)webView{ if (myAlert==nil){ myAlert = [[UIAlertView alloc] initWithTitle:nil message: @"正在坐取咀路儋料" delegate: self cancelButtonTitle: nil otherButtonTitles: nil]; UIActivityIndicatorView *activityView = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhite]; activityView.frame = CGRectMake(120.f, 48.0f, 37.0f, 37.0f); [myAlert addSubview:activityView]; [activityView startAnimating]; [myAlert show]; } } - (void)webViewDidFinishLoad:(UIWebView *)webView{ [myAlert dismissWithClickedButtonIndex:0 animated:YES]; }?
来源: http://www.cocoachina.com/bbs/read.php?tid=9419
?
用法一:只显示不停旋转的进度滚轮指示器。
//显示进度滚轮指示器 -(void)showWaiting { progressInd=[[UIActivityIndicatorView alloc]initWithActivityIndicatorStyle: UIActivityIndicatorViewStyleWhiteLarge]; progressInd.center=CGPointMake(self.view.center.x,240); [self.navigationController.view addSubview:progressInd]; [progressInd startAnimating]; } //消除滚动轮指示器 -(void)hideWaiting { [progressInd stopAnimating]; }?
用法二:带有半透明背景的进度轮指示器。
//显示进度滚轮指示器 -(void)showWaiting:(UIView *)parent { int width = 32, height = 32; CGRect frame = CGRectMake(100, 200, 110, 70) ;//[parent frame]; //[[UIScreen mainScreen] applicationFrame]; int x = frame.size.width; int y = frame.size.height; frame = CGRectMake((x - width) / 2, (y - height) / 2, width, height); UIActivityIndicatorView* progressInd = [[UIActivityIndicatorView alloc]initWithFrame:frame]; [progressInd startAnimating]; progressInd.activityIndicatorViewStyle = UIActivityIndicatorViewStyleWhiteLarge; frame = CGRectMake((x - 70)/2, (y - height) / 2 + height, 80, 20); UILabel *waitingLable = [[UILabel alloc] initWithFrame:frame]; waitingLable.text = @"Loading..."; waitingLable.textColor = [UIColor whiteColor]; waitingLable.font = [UIFont systemFontOfSize:15]; waitingLable.backgroundColor = [UIColor clearColor]; frame = CGRectMake(100, 200, 110, 70) ;//[parent frame]; UIView *theView = [[UIView alloc] initWithFrame:frame]; theView.backgroundColor = [UIColor blackColor]; theView.alpha = 0.7; [theView addSubview:progressInd]; [theView addSubview:waitingLable]; [progressInd release]; [waitingLable release]; [theView setTag:9999]; [parent addSubview:theView]; [theView release]; } //消除滚动轮指示器 -(void)hideWaiting { [[self.view viewWithTag:9999] removeFromSuperview]; }?
来源: http://blog.csdn.net/lovenjoe/article/details/7498238
?
?