iOS开发-UIWebView加载本地和网络数据
来源:互联网 发布:节流装置计算软件 编辑:程序博客网 时间:2024/05/29 07:49
UIWebView是内置的浏览器控件,可以用它来浏览网页、打开文档,关于浏览网页榜样可以参考UC,手机必备浏览器,至于文档浏览的手机很多图书阅读软件,UIWebView是一个混合体,具体的功能控件内置的,实现一些基本的功能。UIWebView可以查看Html网页,pdf文件,docx文件,txt文件文件,系统自带的Safari就是UIWebView实现的。
如果无法打开网页 提示如下错误
“App TransportSecurity has blocked a cleartext HTTP (http://) resource load since it isinsecure. Temporary exceptions can be configured via your app's Info.plistfile.”
简而言之:ATS禁止了HTTP的明文传输,因为它不安全。可以修改Info.plist文件,让它临时允许明文传输。
解决办法:
在Info.plist文件中添加"App Transport SecuritySettings", Type为"Dictionary",再添加"Allow Arbitray Loads", Type 为"Boolean",“Value”为“YES”即可。
基础布局
页面布局很简单就是一个文本框,一个按钮,一个UIWebView,页面布局如下:
如果想简单一点的话,其实用UIWebView也行,不过需要先准备一些文本数据,具体如下:
数据加载
①直接拼接Html,用UIWebView显示,viewDidLoad中添加代码:
//直接加载Html字符串 NSString *htmlStr=@"<html><head><title>Html加载</title></head><body>HtmlDemo-FlyElephant</body></html>"; [self.webView loadHTMLString:htmlStr baseURL:nil];
②加载本地的Html网页,Book.html中代码:
<!DOCTYPE html><html><head><meta charset="UTF-8"><title>书籍</title></head><body>少年维特之烦恼-歌德</body></html>
viewDidLoad代码:
NSString *filePath = [[NSBundle mainBundle]pathForResource:@"Book" ofType:@"html"]; NSString *htmlString = [NSString stringWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:nil]; [self.webView loadHTMLString:htmlString baseURL:[NSURL URLWithString:filePath]];
③加载本地的pdf文件,viewDidLoad代码:
NSURL *url = [[NSBundle mainBundle]URLForResource:@"Book.pdf" withExtension:nil]; NSURLRequest *request = [NSURLRequest requestWithURL:url]; [self.webView loadRequest:request];
加载pdf的第二种方式:
NSString *path = [[NSBundle mainBundle]pathForResource:@"Book.pdf" ofType:nil]; //以二进制的形式加载数据 NSData *data = [NSData dataWithContentsOfFile:path]; [self.webView loadData:data MIMEType:@"application/pdf" textEncodingName:@"UTF-8" baseURL:nil];
④加载本地txt文件,viewDidLoad代码如下:
//加载txt NSURL *url = [[NSBundle mainBundle]URLForResource:@"Book.txt" withExtension:nil]; //设置Url [self.webView loadRequest:[NSURLRequest requestWithURL:url]];
⑤加载Word,viewDidLoad代码如下:
//加载Word NSURL *url = [[NSBundle mainBundle]URLForResource:@"Book.docx" withExtension:nil]; //设置加载Url [self.webView loadRequest:[NSURLRequest requestWithURL:url]];
⑥加载网络数据,跳转按钮事件中实现如下:
NSURLRequest *request =[NSURLRequest requestWithURL:[NSURL URLWithString:self.urlText.text]]; [self.webView loadRequest:request];
⑦设置委托,在不同的阶段处理数据,实现UIWebViewDelegate,设置自己本身为委托对象;
[self.webView setDelegate:self];
常用的三个方法:
//加载开始- (void)webViewDidStartLoad:(UIWebView *)webView{ NSLog(@"加载开始的时候的方法调用");}//加载完成-(void)webViewDidFinishLoad:(UIWebView *)webView{ NSLog(@"加载完成的时候电脑方法调用");}//加载出错- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error{ NSLog(@"加载出错的时候的调用");}
- iOS开发-UIWebView加载本地和网络数据
- ios网络学习------4 UIWebView的加载本地数据的三种方式
- ios网络学习------4 UIWebView的加载本地数据的三种方式
- ios网络学习------4 UIWebView的加载本地数据的三种方式
- ios网络学习------4 UIWebView的加载本地数据的三种方式
- ios网络学习------4 UIWebView的加载本地数据的三种方式
- ios网络学习-- UIWebView的加载本地数据的三种方式
- iOS开发UIWebView如何加载本地带有JS和本地图片的网页
- [IOS]UIWebView 请求网络页面或者加载本地资源页面
- iOS - UIWebView加载数据和高度自适应
- iOS UIWebView加载数据和高度自适应
- UIWebView加载本地html ios
- iOS UIWebView加载本地图片
- iOS中 UIWebView加载网络数据 技术分享
- 置顶] iOS中 UIWebView加载网络数据 技术分享
- iOS开发-UIWebView加载方式
- iOS UIWebView 加载本地h5总结
- iOS-通过UIWebView加载本地HTML5文件
- 【活动】DevOps直播技术架构养成记
- 故障案例--mongo shell从库无法读的处理方法
- 编译Linux内核
- TableLayout 佈局介紹
- 文章标题
- iOS开发-UIWebView加载本地和网络数据
- hdu1028 Ignatius and the Princess III 递推
- 104 Maximum Depth of Binary Tree
- ios图片添加水印
- N通道Float 差值算法
- OCP(02).安装Oracle11g
- av格式
- 写文件和读文件
- iOS 开发编程你需要知道的知识(不定期更新) —— HERO博客