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:@"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
复制代码


想要了解更多内容的小伙伴,可以点击 查看源码 ,亲自运行测试。
出处: http://www.cnblogs.com/jerehedu/ 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值