码迷,mamicode.com
首页 > Web开发 > 详细

UIWebView和UIWebViewDelegate的基本用法

时间:2016-07-18 18:23:54      阅读:236      评论:0      收藏:0      [点我收藏+]

标签:

UIWebView和UIWebViewDelegate的基本用法  


一、UIWebView主要有三种方法实现页面的装载,分别是:

1. (void)loadRequest:(NSURLRequest *)request;  (直接装载URL)

2. (void)loadHTMLString:(NSString *)string baseURL:(NSURL *)baseURL; (主要用于装载用字符串拼接成的HTML代码)
3 .(void)loadData:(NSData *)data MIMEType:(NSString *)MIMEType textEncodingName:(NSString *)textEncodingName baseURL:(NSURL *)baseURL;(主要应用于转载本地页面或者外部传来的NSData)

 

下面针对这三个方法,分别测试:

1. 第一个方法比较简单明了

 

    NSString *url = @"http://www.baidu.com";

NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:url]];
[webView loadRequest:request];

 

2. 这个方法可以自己用字符串拼接HTML代码,然后用webview进行装载,也可以转载那段js代码

 

1    NSString *html = @"hello <h1>world<h1>";
2 // @"<script language=‘javascript‘>alert(‘hello‘);</script>‘"
3 [webView loadHTMLString:html baseURL:nil];



3. 使用UIWebView装载已经存在的html 页面。

1     NSBundle *bundle = [NSBundle mainBundle];
2 NSString *path = [bundle pathForResource:@"word" ofType:@"html"];
3 //word.html存在工程的资源目录中
4 NSData *data = [[NSData alloc]initWithContentsOfFile:path];
5 [webView loadData:data MIMEType:nil textEncodingName:nil baseURL:nil];

 

其中MINEType可以设置成@"text/html"

       textEncodingName可以设置成@"GBK" @"UTF-8"

       为什么需要设置baseUrl?也就是data中有一些链接是图片,css都是外部文件,然后这些文件需要到一个目录上去找。baseUrl就是这个目录。



UIWebViewDelegate的用法

这个委托有4个方法,分别是:

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
- (void)webViewDidStartLoad:(UIWebView *)webView
- (void)webViewDidFinishLoad:(UIWebView *)webView
- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error
 
分别是:加载前,开始加载,加载完毕,加载失败的回调。

UIWebView和UIWebViewDelegate的基本用法

标签:

原文地址:http://www.cnblogs.com/LiLihongqiang/p/5680468.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!