UIWebView加载Loading...

2024-04-18 11:48
文章标签 加载 loading uiwebview

本文主要是介绍UIWebView加载Loading...,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

ViewController.h文件



#import <UIKit/UIKit.h>


@interface ViewController :UIViewController<UIWebViewDelegate>//加载声明UIWebviewDelegate协议  

{

   UIWebView *webView;

   UIActivityIndicatorView *activityIndicator;

    

}




ViewController.m文件

//加载网页

- (void)viewDidLoad

{

    [superviewDidLoad];

    webView = [[UIWebViewalloc] initWithFrame:CGRectMake(0,0, 320,480)];

    [webViewsetDelegate:self];

    NSURLRequest *request =[NSURLRequestrequestWithURL:[NSURLURLWithString:@"http://www.zqksk.com/ios/xzqcf/index.html"]];

    [self.viewaddSubview: webView];

    [webViewloadRequest:request];

    

   }

/// //开始加载数据   

- (void) webViewDidStartLoad:(UIWebView *)webView

{

    //创建UIActivityIndicatorView背底半透明View     

   UIView *view = [[UIViewalloc] initWithFrame:CGRectMake(0,0, 320, 480)];  

    [viewsetTag:108];  

    [view setBackgroundColor:[UIColorblackColor]];  

    [viewsetAlpha:0.5];  

    [self.viewaddSubview:view];  

    

    activityIndicator = [[UIActivityIndicatorViewalloc] initWithFrame:CGRectMake(0.0f,0.0f, 32.0f, 32.0f)];  

    [activityIndicatorsetCenter:view.center];  

    [activityIndicatorsetActivityIndicatorViewStyle:UIActivityIndicatorViewStyleWhite];  

    [view addSubview:activityIndicator];  


    [activityIndicatorstartAnimating];

    NSLog(@"webViewDidStartLoad");

}

/////数据加载完  

- (void) webViewDidFinishLoad:(UIWebView *)webView

{

    [activityIndicatorstopAnimating];

   UIView *view = (UIView*)[self.viewviewWithTag:108];

    [view removeFromSuperview];

    NSLog(@"webViewDidFinishLoad");


}

- (void) webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error

{

    [activityIndicatorstopAnimating];

   UIView *view = (UIView*)[self.viewviewWithTag:108];

    [view removeFromSuperview];

    NSLog(@"didFailLoadWithError:%@", error);

}


自己使用以下方式:
//加载网页动画  

- (void)webViewDidStartLoad:(UIWebView *)webView { 

    

   if (myAlert==nil){

        myAlert = [[UIAlertViewalloc] initWithTitle:nil

                                            message: @"正在玩命加载当中..."

                                           delegate: self

                                  cancelButtonTitle: nil

                                  otherButtonTitles: nil];

        

        UIActivityIndicatorView *activityView = [[UIActivityIndicatorViewalloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhite];//加载时指示器的颜色

        activityView.frame =CGRectMake(120.f,48.0f, 37.0f,37.0f);//设置对象的位置,大小是固定不变的。WhiteLarge为37 * 37,White为20 * 20

        activityView.color = [UIColor redColor];//指示器的颜色

        [myAlertaddSubview:activityView];//将对像加入到VIEW

        [activityViewrelease];要记得将对象release

        [activityViewstartAnimating];//开启动画(指示器)

        [myAlertshow];

    }

    

    _reloading = YES;

}

////数据加载完 

- (void)webViewDidFinishLoad:(UIWebView *)webView {

     [myAlertdismissWithClickedButtonIndex:0animated:YES];

    

    _reloading = NO;

    [_refreshHeaderViewegoRefreshScrollViewDataSourceDidFinishedLoading:self.uiWebView.scrollView];

}

- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error {

    NSLog(@"load page error:%@", [errordescription]);

    _reloading = NO;

[_refreshHeaderViewegoRefreshScrollViewDataSourceDidFinishedLoading:self.uiWebView.scrollView];

}

转:

http://justcoding.iteye.com/blog/1535070

http://lijinfengjava.iteye.com/blog/1508377

http://blog.sina.com.cn/s/blog_7fa6b06f010121mr.html




这篇关于UIWebView加载Loading...的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/914700

相关文章

重新对Java的类加载器的学习方式

《重新对Java的类加载器的学习方式》:本文主要介绍重新对Java的类加载器的学习方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、介绍1.1、简介1.2、符号引用和直接引用1、符号引用2、直接引用3、符号转直接的过程2、加载流程3、类加载的分类3.1、显示

在 PyQt 加载 UI 三种常见方法

《在PyQt加载UI三种常见方法》在PyQt中,加载UI文件通常指的是使用QtDesigner设计的.ui文件,并将其转换为Python代码,以便在PyQt应用程序中使用,这篇文章给大家介绍在... 目录方法一:使用 uic 模块动态加载 (不推荐用于大型项目)方法二:将 UI 文件编译为 python 模

Spring框架中@Lazy延迟加载原理和使用详解

《Spring框架中@Lazy延迟加载原理和使用详解》:本文主要介绍Spring框架中@Lazy延迟加载原理和使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、@Lazy延迟加载原理1.延迟加载原理1.1 @Lazy三种配置方法1.2 @Component

SpringBoot中配置文件的加载顺序解读

《SpringBoot中配置文件的加载顺序解读》:本文主要介绍SpringBoot中配置文件的加载顺序,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录SpringBoot配置文件的加载顺序1、命令⾏参数2、Java系统属性3、操作系统环境变量5、项目【外部】的ap

Spring Boot 配置文件之类型、加载顺序与最佳实践记录

《SpringBoot配置文件之类型、加载顺序与最佳实践记录》SpringBoot的配置文件是灵活且强大的工具,通过合理的配置管理,可以让应用开发和部署更加高效,无论是简单的属性配置,还是复杂... 目录Spring Boot 配置文件详解一、Spring Boot 配置文件类型1.1 applicatio

SpringBoot项目启动报错"找不到或无法加载主类"的解决方法

《SpringBoot项目启动报错找不到或无法加载主类的解决方法》在使用IntelliJIDEA开发基于SpringBoot框架的Java程序时,可能会出现找不到或无法加载主类com.example.... 目录一、问题描述二、排查过程三、解决方案一、问题描述在使用 IntelliJ IDEA 开发基于

Android WebView无法加载H5页面的常见问题和解决方法

《AndroidWebView无法加载H5页面的常见问题和解决方法》AndroidWebView是一种视图组件,使得Android应用能够显示网页内容,它基于Chromium,具备现代浏览器的许多功... 目录1. WebView 简介2. 常见问题3. 网络权限设置4. 启用 JavaScript5. D

SpringBoot项目启动错误:找不到或无法加载主类的几种解决方法

《SpringBoot项目启动错误:找不到或无法加载主类的几种解决方法》本文主要介绍了SpringBoot项目启动错误:找不到或无法加载主类的几种解决方法,具有一定的参考价值,感兴趣的可以了解一下... 目录方法1:更改IDE配置方法2:在Eclipse中清理项目方法3:使用Maven命令行在开发Sprin

spring-boot-starter-thymeleaf加载外部html文件方式

《spring-boot-starter-thymeleaf加载外部html文件方式》本文介绍了在SpringMVC中使用Thymeleaf模板引擎加载外部HTML文件的方法,以及在SpringBoo... 目录1.Thymeleaf介绍2.springboot使用thymeleaf2.1.引入spring

关于Spring @Bean 相同加载顺序不同结果不同的问题记录

《关于Spring@Bean相同加载顺序不同结果不同的问题记录》本文主要探讨了在Spring5.1.3.RELEASE版本下,当有两个全注解类定义相同类型的Bean时,由于加载顺序不同,最终生成的... 目录问题说明测试输出1测试输出2@Bean注解的BeanDefiChina编程nition加入时机总结问题说明