搜档网
当前位置:搜档网 › IOS中WebView的使用(烟台杰瑞教育IOS培训部原创)

IOS中WebView的使用(烟台杰瑞教育IOS培训部原创)

IOS中WebView的使用

UIWebView是iOS sdk中一个最常用的控件。是内置的浏览器控件,我们可以用它来浏览网页、打开文档等等,UIWebView能够加载html/htm、pdf、docx、txt等格式的文件

系统自带的Safari浏览器就是通过UIWebView实现的。下面我的一起来开开如何简单使用webView。

1、搭建UI界面

2MIME的英文全称是“Multipurpose Internet Mail Extensions”

多用途互联网邮件扩展,是一个互联网标准,最早应用于电子邮件系统,后来应用到浏览器,在这里我们需要得到文件的MIMIE类型,如何获取呢?咱们通过下面方式获取

- (NSString *) getMimeType:(NSString * ) path{

//本地文件路径

NSURL * url=[NSURL fileURLWithPath:path];

//创建请求

NSURLRequest * request=[NSURLRequest requestWithURL:url];

NSURLResponse * response;

//发送同步请求获取响应类型

[NSURLConnection sendSynchronousRequest:request returningResponse:(&response) error:nil];

return response.MIMEType;

}

3 加载pdf文件

//监测所有数据类型:设定电话号码、网址、电子邮件和日期等文字变为链接文字

[webView setDataDetectorTypes:UIDataDetectorTypeAll];

//设置需要展示的文件路径,并且取得mimeType类型

NSString * str=[[NSBundle mainBundle] pathForResource:@"iOS6Cookbook.pdf" ofType:nil];

NSString * mimeType=[self getMimeType:str];

//调用方法加载数据

NSData * data=[NSData dataWithContentsOfFile:str];

[self.webView loadData:data MIMEType:mimeType textEncodingName:@"UTF-8"baseURL:nil];

效果图:

4、加载txt和上面类似本文不做讲解

5、加载HTML,现在有html文件一个

加载页面,获取字符串然后显示即可:

//监测所有数据类型:设定电话号码、网址、电子邮件和日期等文字变为链接文字 [webView setDataDetectorTypes:UIDataDetectorTypeAll];

//设置需要展示的文件路径,并且取得mimeType类型

NSString * str=[[NSBundle mainBundle] pathForResource:@"book_v2.html" ofType:nil];

NSString * mimeType=[self getMimeType:str];

//调用方法加载数据

NSData * data=[NSData dataWithContentsOfFile:str];

NSString * htmlStr=[[NSString alloc] initWithData:data

encoding:NSUTF8StringEncoding];

[self.webView loadHTMLString:htmlStr baseURL:nil];

效果图:

6、加载URL请求

//监测所有数据类型:设定电话号码、网址、电子邮件和日期等文字变为链接文字 [webView setDataDetectorTypes:UIDataDetectorTypeAll];

NSURL * url=[NSURL URLWithString:@"https://www.sodocs.net/doc/1f12063087.html,"];

[self.webView loadRequest:[NSURLRequest requestWithURL:url]];

效果图:

7、代理方法

// 网页开始加载的时候调用

-(void)webViewDidStartLoad:(UIWebView *)webView

// 网页加载完成的时候调用

-(void)webViewDidFinishLoad:(UIWebView *)webView

// 网页加载出错的时候调用

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

// 网页中的每一个请求都会被触发这个方法,返回NO代表不执行这个请求(常用于JS与iOS

之间通讯)

-(BOOL)webView:(UIWebView )webView shouldStartLoadWithRequest:(NSURLRequest )request navigationType:(UIWebViewNavigationType)navigationType

相关主题