UIWebView和UIWebViewDelegate的基本用法
2016-07-18 11:02
295 查看
UIWebView和UIWebViewDelegate的基本用法
[b]一、UIWebView主要有三种方法实现页面的装载,分别是:[/b]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
分别是:加载前,开始加载,加载完毕,加载失败的回调。
相关文章推荐
- Android TV开发经验总结---初识TV开发
- Swift语法之 ---- ?和!区别
- Android应用开发的插件化 模块化
- Android中使用DownloadManager类来管理数据下载
- csapp第二章学习笔记
- Android之图片选择与裁剪
- iOS nil,Nil,NULL,NSNULL的区别
- iOS Status Bar变换
- 分享本地视频到微信好友和QQ好友
- Oculus Unity Development Guide开发指南(转)
- Android——实现无障碍
- iOS---获取设备各种信息
- Android studio中导入SlidingMenu
- Android系统ODEX文件格式解析
- 配置百度地图开发环境
- header( "Content-Type: application/vnd.ms-excel")
- EventBus的初步使用
- performSelector系列方法编译器警告-Warc-performSelector-leaks
- iOS 视频相关 Apple Demo
- Android studio下NDK开发环境配置及开发流程