iOS應用中網絡等待Loading的實現方法
UIWebView加載Loading...兩種方法
第一種方法:使用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]; } </pre>
第二種方法:使用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, 38.0f, 38.0f); [myAlert addSubview:activityView]; [activityView startAnimating]; [myAlert show]; } }
(void)webViewDidFinishLoad:(UIWebView *)webView{
[myAlert dismissWithClickedButtonIndex:0 animated:YES];
} </pre>