iOS應用中網絡等待Loading的實現方法

n5b6 9年前發布 | 5K 次閱讀 Objective-C IOS

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>

 本文由用戶 n5b6 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!