1、使用 UIWebView 需导入代理 UIWebViewDelegate,可以使用第三方的等待视图框架 MBProgressHUD(这个框架的文件请查看文件部分http://download.csdn.net/detail/boyqicheng/9146719,http://download.csdn.net/detail/boyqicheng/9146737,我使用文件的方式上传),直接把下载的MBProgressHUD.h 和 MBProgressHUD.M 文件拷贝到自己的工程目录下,在拖到工程控制目录下,出现的提示都选择第一个,导入成功后进行下面的操作。在.H和.M中导入MBProgressHUD.h 都可以
2、初始化 webView
// 初始化方法
- (void)initWebView
{
UIWebView *webView = [[UIWebViewalloc]initWithFrame:CGRectMake(0,65,CGRectGetWidth([UIScreenmainScreen].bounds),CGRectGetHeight([UIScreenmainScreen].bounds)-SCREEN_W/6)];
webView.delegate =self;
[self.viewaddSubview:webView];
}
3、web 访问的网页及等待视图的初始化
{
// 加载网页,这里访问的是 百度的网页
NSURLRequest*request = [NSURLRequestrequestWithURL:[NSURLURLWithString:@"http://www.baidu.com"]];
// 网络视图需要一个 加载的请求,加载的内容放在请求里面
[webViewloadRequest:request];
// 这里涉及的HUD是定义成 MBProgressHUD 类型的全局变量
HUD = [[MBProgressHUDalloc]initWithView:self.view];
HUD.backgroundColor = [UIColorlightTextColor];
[self.viewaddSubview:HUD];
}
4、 下面是 web 的代理
#pragmamark-----------// 开始加载的时候调用方法-----------------
- (void)webViewDidStartLoad:(UIWebView*)webView
{
HUD.labelColor = [UIColorcolorWithRed:0.924green:0.990blue:0.049alpha:1.000];
HUD.labelText =@"玩命加载中...";// 等待视图的提示内容可以自己设置
[HUDshow:YES];
}
#pragmamark-----------// 完成加载的时候调用方法-----------------
- (void)webViewDidFinishLoad:(UIWebView*)webView
{
[HUDhide:YES];// 隐藏等待视图
}
#pragmamark-----------// 加载失败的时候调用方法-----------------
- (void)webView:(UIWebView*)webViewdidFailLoadWithError:(NSError*)error
{
[HUDhide:YES];
HUD.labelColor = [UIColorredColor];
HUD.labelText = [NSStringstringWithFormat:@"error:%@",error];
[HUDshow:YES];
[HUDhide:YESafterDelay:3];// 在3秒和隐藏等待视图
}