UIWebView和UIWebViewDelegate的基本用法

简介:  一、UIWebView主要有三种方法实现页面的装载,分别是: 1. (void)loadRequest:(NSURLRequest *)request;  (直接装载URL) 2.

 一、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代码

  

NSString *html = @"hello <h1>world<h1>";
// @"<script language='javascript'>alert('hello');</script>'"
[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
 
分别是:加载前,开始加载,加载完毕,加载失败的回调。
相关文章
|
4月前
|
iOS开发 UED 开发者
UIControl 功能和用法
UIControl 功能和用法
|
5月前
|
JavaScript 前端开发 Swift
swift-UISegmentedControl和UIWebView的用法
这是关于 `UISegmentedControl`和 `UIWebView`的基本用法。它们是iOS应用中常用的界面元素,可以帮助您实现用户友好的交互和显示Web内容。详细的用法可以参考苹果官方文档以及在线教程和示例代码。
68 3
UITextView,UIWebView 直接显示html代码
UITextView,UIWebView 直接显示html代码
67 0
|
iOS开发
iOS选择器视图控件(UIPickerView)使用方法总结
iOS选择器视图控件(UIPickerView)使用方法总结
485 0
|
iOS开发
iOS中UIImageView用法总结
iOS中UIImageView用法总结
123 0
|
iOS开发
iOS UISwitch 用法总结
iOS UISwitch 用法总结
192 0
|
JavaScript 前端开发 Android开发
|
JavaScript 前端开发 Android开发
|
Android开发 iOS开发 JavaScript
WKWebView代理方法解析
一.前言 上一篇文章已经对WKWebView做了一个简单的介绍,主要对它的一些方法和属性做了一个简单的介绍,今天看一下WKWebView的两个协议:WKNavigationDelegate 和 WKUIDelegate。
3239 0