IOS中WebView的使用

王朝学院·作者佚名  2016-08-27
窄屏简体版  字體: 小  |  中  |  大  |  超大  

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];returnresponse.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:@"http://21-sun.com"];

[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

想要了解更多内容的小伙伴,可以点击查看源码,亲自运行测试。

疑问咨询或技术交流,请加入官方QQ群: (452379712)

作者:杰瑞教育

出处:http://www.cnblogs.com/jerehedu/

本文版权归烟台杰瑞教育科技有限公司和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航