UIWebView加载Loading...两种方法

第一种方法:使用UIView and UIActivityIndicatorView
//创建UIWebView
WebView =[[UIWebView alloc]initWithFrame:CGRectMake(044320400)];
[WebView setUserInteractionEnabled:NO];
[WebView setBackgroundColor:[UIColor clearColor]];
[WebView setDelegate:self];
[WebView setOpaque:NO];//使网页透明
 
NSString*path= @"http://www.baidu.com";
NSURL*url=[NSURLURLWithString:path];
[WebView loadRequest:[NSURLRequestrequestWithURL:url]];
 
//创建UIActivityIndicatorView背底半透明View    
UIView *view=[[UIView alloc]initWithFrame:CGRectMake(00320480)];
[viewsetTag:103];
[viewsetBackgroundColor:[UIColor blackColor]];
[viewsetAlpha:0.8];
[self.viewaddSubview:view];
 
activityIndicator =[[UIActivityIndicatorView alloc]initWithFrame:CGRectMake(0.0f, 0.0f, 32.0f, 32.0f)];
[activityIndicator setCenter:view.center];
[activityIndicator setActivityIndicatorViewStyle:UIActivityIndicatorViewStyleWhite];
[viewaddSubview:activityIndicator];
[self.viewaddSubview:WebView];
[viewrelease];
[WebView release];
 
//开始加载数据
-(void)webViewDidStartLoad:(UIWebView *)webView {    
      [activityIndicator startAnimating];         
}
 
//数据加载完
-(void)webViewDidFinishLoad:(UIWebView *)webView {
     [activityIndicator stopAnimating];    
     UIView *view=(UIView *)[self.viewviewWithTag:103];
     [viewremoveFromSuperview];
}
第二种方法:使用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];

}


/*=======================================*/


用法一:只显示不停旋转的进度滚轮指示器。

//显示进度滚轮指示器

-(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, 8020);

UILabel *waitingLable = [[UILabel allocinitWithFrame:frame];

waitingLable.text = @"Loading...";

waitingLable.textColor = [UIColor whiteColor];

waitingLable.font = [UIFont systemFontOfSize:15];

waitingLable.backgroundColor = [UIColor clearColor];

 

    frame =  CGRectMake(10020011070) ;//[parent frame];

    UIView *theView = [[UIView allocinitWithFrame: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];

}


发布了35 篇原创文章 · 获赞 22 · 访问量 54万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览