`
xinlanzero
  • 浏览: 251986 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

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

阅读更多

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

 

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


第一种方法:

  1. //创建UIWebView  
  2. WebView = [[UIWebView alloc] initWithFrame:CGRectMake(0, 44, 320, 400)];
  3. [WebView setUserInteractionEnabled:NO];
  4. [WebView setBackgroundColor:[UIColor clearColor]];  
  5. [WebView setDelegate:self];  
  6. [WebView setOpaque:NO];//使网页透明  

  7. NSString *path = @"http://www.baidu.com";  
  8. NSURL *url = [NSURL URLWithString:path];  
  9. [WebView loadRequest:[NSURLRequest requestWithURL:url]];

  10. //创建UIActivityIndicatorView背底半透明View  
  11. UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)];  
  12. [view setTag:103];
  13. [view setBackgroundColor:[UIColor blackColor]];
  14. [view setAlpha:0.8];
  15. [self.view addSubview:view];  

  16. activityIndicator = [[UIActivityIndicatorView alloc] initWithFrame:CGRectMake(0.0f, 0.0f, 32.0f, 32.0f)];
  17. [activityIndicator setCenter:view.center];
  18. [activityIndicator setActivityIndicatorViewStyle:UIActivityIndicatorViewStyleWhite];  
  19. [view addSubview:activityIndicator];  
  20. [self.view addSubview:WebView];  
  21. [view release];
  22. [WebView release];  

  23. //以下两个方法是UIWebView的delegate methods
  24. //开始加载数据
  25. - (void)webViewDidStartLoad:(UIWebView *)webView {
  26.       [activityIndicator startAnimating];  
  27. }
  28. //数据加载完  
  29. - (void)webViewDidFinishLoad:(UIWebView *)webView {  
  30.      [activityIndicator stopAnimating];  
  31.      UIView *view = (UIView *)[self.view viewWithTag:103];  
  32.      [view removeFromSuperview];
  33. }



第二种方法:在UIAlertView上添加一个UIActivityIndicatorView
  1. //加载网页动画
  2. - (void)webViewDidStartLoad:(UIWebView *)webView{
  3.     if (myAlert==nil){
  4.        myAlert = [[UIAlertView alloc] initWithTitle:nil
  5.                                                               message: @"正在加载数据,请稍候..."
  6.                                                                 delegate: self  
  7.                                                  cancelButtonTitle: nil f
  8.                                                  otherButtonTitles: nil];
  9.      UIActivityIndicatorView *activityView = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhite];
  10.      activityView.frame = CGRectMake(120.f, 48.0f, 37.0f, 37.0f);  
  11.      [myAlert addSubview:activityView];
  12.      [activityView startAnimating];
  13.      [myAlert show];
  14. }
  15. }
  16. - (void)webViewDidFinishLoad:(UIWebView *)webView{  
  17.       [myAlert dismissWithClickedButtonIndex:0 animated:YES];
  18. }


分享到:
评论

相关推荐

    Android代码-自定义WebView自带加载动画.zip

    这个“Android代码-自定义WebView自带加载动画.zip”文件显然提供了关于如何在WebView中添加自定义加载动画的示例代码。在本文中,我们将深入探讨如何在Android的WebView中实现这样的功能。 首先,我们要理解...

    Android实现WebView懒加载

    2. **自定义WebViewClient**:重写`shouldInterceptRequest`方法,这个方法会在WebView尝试加载一个资源时被调用。在这里,我们可以判断是否需要立即加载资源,或者延迟到需要时再加载。 3. **JavaScript交互**:...

    Android webview加载网页.zip

    在Android开发中,WebView是一个非常重要的组件,它允许我们在应用程序内部加载和显示网页内容,无需跳转到外部浏览器。这个“Android webview加载网页.zip”文件可能包含了一个示例项目或者教程,帮助开发者理解...

    安卓浏览器WebViewJSHTML5相关-自定义WebView自带加载动画.zip

    `WebViewClient`中的`shouldOverrideUrlLoading`方法决定何时加载新的URL,而`onPageStarted`和`onPageFinished`则分别在页面开始加载和加载完成时被调用,可以在这两个方法中加入我们的加载动画逻辑。 加载动画...

    Android高级应用源码-自定义WebView,自带加载动画.rar

    这个“Android高级应用源码-自定义WebView,自带加载动画”压缩包提供了一个实例,展示了如何在WebView的基础上进行扩展,添加自定义功能,特别是加载动画,为用户体验增添亮点。 首先,我们要理解WebView的基本...

    android WebView预加载

    有时我们会在启动页或引导页之后,加载一个webview为控件的主页。 但如果跳转之后再加载,会看到webview有一个加载的过程,如果网页较大可能加载起来会很慢。这时我们利用启动页或引导页或中间的广告页的时间来预...

    WebView2-20200512- WebView2Loader.dll.zip

    - 加载:WebView2Loader.dll是WebView2运行时环境的关键部分,它负责加载和初始化WebView2引擎。 - 管理:该动态链接库管理WebView2实例的创建、生命周期以及与JavaScript交互。 - 更新:随着Chromium项目的更新...

    WebView加载失败错误处理

    为了显示自定义的错误页面,我们可以在布局文件中创建一个新的布局,例如`error_page.xml`,并将其作为加载失败时的显示内容。这个布局可以包含一个简单的文本提示,以及可能的重试按钮: ```xml <!-- error_page....

    com.google.android.webview.apk

    有些平板缺失加载webview所依赖的内核apk的资源文件,会导致应用加载webview报错。需要自己安装webview的apk。 webview全称叫做Android System WebView,它是Android生态系统的重要组成部分,也是Chrome浏览器的...

    webView加载网络播放视频

    同时,确保WebView可以加载数据,`webView.getSettings().setAllowFileAccess(true);`允许访问本地文件系统。 3. **加载网页**: 使用`webView.loadUrl("file:///android_asset/index.html");`加载本地或网络上的...

    com.android.webview-95.0.4638.50

    1. 初始化和配置:在使用WebView之前,需要通过`WebView.loadUrl()`方法加载网页,同时可以通过`WebSettings`类进行配置,如启用JavaScript支持、设置缓存策略等。 2. 安全性:由于WebView会执行来自网络的代码,...

    QtWebView在线加载网页Demo

    在本篇文章中,我们将深入探讨QtWebView的使用方法、特性以及如何通过Qt来构建一个在线加载网页的应用。 首先,让我们了解QtWebView的基本概念。QtWebView是基于WebKit引擎的,WebKit是一个开源的Web渲染引擎,被...

    android WebView加载H5去地址栏的两种方式

    在Android开发中,WebView是一个非常重要的组件,它允许我们在应用程序中加载和显示网页内容。当我们在WebView中加载H5(HTML5)页面时,通常会看到一个顶部的地址栏,显示着当前加载的URL。然而,在某些场景下,...

    详解android 用webview加载网页(https和http)

    然而,在加载 HTTPS 和 HTTP 网页时,WebView 可能会出现一些问题,本文将详细介绍这两个错误的解决方法。 错误一:加载 HTTPS 请求的网页时,WebView 变成空白页 在 Android 中,当 WebView 加载 HTTPS 请求的...

    使用WebView加载本地html操作本地数据

    `JavaScriptInterface`是自定义的一个类,需要使用`@JavascriptInterface`注解标记所有可被JS调用的方法,以确保在WebView的安全环境下运行: ```java public class JavaScriptInterface { @JavascriptInterface ...

    webview加载html文本以及PDF加载

    1. **WebView基本使用**:WebView是Android SDK中的一个视图组件,它可以加载和显示网页内容。使用WebView需要导入`android.webkit.WebView`库,并在XML布局文件中添加WebView控件,然后在对应的Activity或Fragment...

    Android通过JS在线用webview加载PDF文件(无限放大版本)

    我们可以使用`WebView.loadUrl()`方法加载一个网页URL,或者使用`WebView.loadDataWithBaseURL()`方法加载本地或远程的HTML数据。 加载PDF文件通常有两种方式:一是通过内嵌支持PDF的Web插件,如Adobe的PDF.js;二...

    webview 加载js ,css

    在Android开发中,WebView是一个非常重要的组件,它允许我们在应用程序中内嵌网页内容,实现与网页的交互。WebView不仅能够加载HTML、CSS和JavaScript,还能通过JavaScript Interface与Android原生代码进行通信,...

    android之webView加载javascropt

    在Android开发中,WebView是一个非常重要的组件,它允许我们在应用程序中内嵌网页内容,实现与网页的交互。WebView不仅能够加载HTML、CSS和JavaScript,还能通过JavaScript Interface与Android原生代码进行通信,...

    替换WebView加载网页失败

    在Android开发中,WebView是一个非常重要的组件,它允许我们在应用程序中内嵌网页内容,实现与网页的交互。然而,有时我们可能会遇到“替换WebView加载网页失败”的问题,这通常是由于多种原因引起的。以下是一些...

Global site tag (gtag.js) - Google Analytics