星空网 > 软件开发 > 操作系统

IOS中WebView的使用

  UIWebView是iOS sdk中一个最常用的控件。是内置的浏览器控件,我们可以用它来浏览网页、打开文档等等,UIWebView能够加载html/htm、pdf、docx、txt等格式的文件 
系统自带的Safari浏览器就是通过UIWebView实现的。下面我的一起来开开如何简单使用webView。

  1、搭建UI界面

 IOS中WebView的使用images/loading.gif' data-original="http://images0.cnblogs.com/blog2015/708076/201506/191546212796851.png" />

  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];

  效果图:

IOS中WebView的使用

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

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

IOS中WebView的使用

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

//监测所有数据类型:设定电话号码、网址、电子邮件和日期等文字变为链接文字  [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];

效果图:

IOS中WebView的使用

6、加载URL请求

  //监测所有数据类型:设定电话号码、网址、电子邮件和日期等文字变为链接文字  [webView setDataDetectorTypes:UIDataDetectorTypeAll];   NSURL * url=[NSURL URLWithString:@"http://21-sun.com"];  [self.webView loadRequest:[NSURLRequest requestWithURL:url]];

效果图:

IOS中WebView的使用

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群:IOS中WebView的使用 (452379712)

 

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



原标题:IOS中WebView的使用

关键词:IOS

IOS
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

PSE支付:https://www.ikjzd.com/w/1573203404172730369
派代论坛:https://www.ikjzd.com/w/1573203407045828610
托盘:https://www.ikjzd.com/w/1573203410045100033
palletjackwms:https://www.ikjzd.com/w/1573203410636152833
PALLSTOCK:https://www.ikjzd.com/w/1573203411189800962
上海泛亚航运有限公司:https://www.ikjzd.com/w/1573203413362794498
【再放信号】美国Etsy即将放开中国卖家入驻,官方邮件你收到了吗?:https://www.kjdsnews.com/a/1836640.html
安庆市周边免费景点 安庆免费游玩的地方有哪些?:https://www.vstour.cn/a/365186.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流