首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

【转】在webview加加载数据时平添一个Loading.动画的两种方法

2012-09-29 
【转】在webview加加载数据时添加一个Loading...动画的两种方法【转】在webview加加载数据时添加一个Loading..

【转】在webview加加载数据时添加一个Loading...动画的两种方法

【转】在webview加加载数据时添加一个Loading...动画的两种方法

?

大家使用iPhone/iPod浏览网页时,一定见过浏览器加载网页时,总会出现一个Loading动画,其实这是实现起来是非常简单的。下面就是两种不同的实现方法:


第一种方法:

    //创建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];??

    //以下两个方法是UIWebView的delegate methods
    //开始加载数据
    - (void)webViewDidStartLoad:(UIWebView *)webView {
    ??????[activityIndicator startAnimating];??
    }
    //数据加载完??
    - (void)webViewDidFinishLoad:(UIWebView *)webView {??
    ???? [activityIndicator stopAnimating];??
    ???? UIView *view = (UIView *)[self.view viewWithTag:103];??
    ???? [view removeFromSuperview];
    }



第二种方法:在UIAlertView上添加一个UIActivityIndicatorView
    //加载网页动画
    - (void)webViewDidStartLoad:(UIWebView *)webView{
    ????if (myAlert==nil){
    ?????? myAlert = [[UIAlertView alloc] initWithTitle:nil
    ??????????????????????????????????????????????????????????????message: @"正在加载数据,请稍候..."
    ????????????????????????????????????????????????????????????????delegate: self??
    ???????????????????????????????????????????????? cancelButtonTitle: nil f
    ???????????????????????????????????????????????? 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];
    }


热点排行