iOS之webview加载网页、文件、html的方法
UIWebView 是用来加载加载网页数据的一个框。UIWebView可以用来加载pdf、word、doc 等等文件
生成webview 有两种方法,1、通过storyboard 拖拽 2、通过alloc init 来初始化
创建webview,下列文本中 _webView.dataDetectorTypes = UIDataDetectorTypeAll; 是识别webview中的类型,例如 当webview中有电话号码,点击号码就能直接打电话
- (UIWebView *)webView {
if (!_webView) {
_webView = [[UIWebView alloc] initWithFrame:self.view.bounds];
_webView.dataDetectorTypes = UIDataDetectorTypeAll;
}
return _webView;
}
加载网页
// 让浏览器加载指定的字符串,使用m.baidu.com进行搜索
- (void)loadString:(NSString *)str {
// 1. URL 定位资源,需要资源的地址
NSString *urlStr = str;
if (![str hasPrefix:@"http://"]) {
urlStr = [NSString stringWithFormat:@"http://m.baidu.com/s?word=%@", str];
} NSURL *url = [NSURL URLWithString:urlStr]; // 2. 把URL告诉给服务器,请求,从m.baidu.com请求数据
NSURLRequest *request = [NSURLRequest requestWithURL:url]; // 3. 发送请求给服务器
[self.webView loadRequest:request];
}
加载html
// HTML是网页的设计语言
// <>表示标记</>
// 应用场景:截取网页中的某一部分显示
// 例如:网页的完整内容中包含广告!加载完成页面之后,把广告部分的HTML删除,然后再加载
// 被很多新闻类的应用程序使用
[self.webView loadHTMLString:@"<p>Hello</p>" baseURL:nil];
加载本地文件
#pragma mark - 加载文件
- (void)loadFile {
// 应用场景:加载从服务器上下载的文件,例如pdf,或者word,图片等等文件
NSURL *fileURL = [[NSBundle mainBundle] URLForResource:@"关于.txt" withExtension:nil]; NSURLRequest *request = [NSURLRequest requestWithURL:fileURL]; [self.webView loadRequest:request];
}
以二级制的方式加载本地文件
#pragma 以二进制数据的形式加载文件
- (void)loadDataFile {
// 最最常见的一种情况
// 打开IE,访问网站,提示你安装Flash插件
// 如果没有这个应用程序,是无法用UIWebView打开对应的文件的 // 应用场景:加载从服务器上下载的文件,例如pdf,或者word,图片等等文件
NSURL *fileURL = [[NSBundle mainBundle] URLForResource:@"iOS 7 Programming Cookbook.pdf" withExtension:nil]; NSURLRequest *request = [NSURLRequest requestWithURL:fileURL];
// 服务器的响应对象,服务器接收到请求返回给客户端的
NSURLResponse *respnose = nil; NSData *data = [NSURLConnection sendSynchronousRequest:request returningResponse:&respnose error:NULL]; NSLog(@"%@", respnose.MIMEType); // 在iOS开发中,如果不是特殊要求,所有的文本编码都是用UTF8
// 先用UTF8解释接收到的二进制数据流
[self.webView loadData:data MIMEType:respnose.MIMEType textEncodingName:@"UTF8" baseURL:nil];
}
iOS之webview加载网页、文件、html的方法的更多相关文章
- WebView加载网页文件
转自:http://www.2cto.com/kf/201108/101518.html WebView(网络视图)能加载显示网页,可以将其视为一个浏览器.它使用了WebKit渲染引擎加载显示网页,实 ...
- iOS使用webView 加载网页,在模拟器中没有问题,而真机却白屏了。App Transport Security has blocked a cleartext HTTP (http://) resource load since it is insecure. Temporary exceptions can be configured via your app's Info.plist f
还在info.plist中配置.除了配置允许上网的配置之外,还有另一项.
- WebView 加载网页 加载资源 总结 MD
Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...
- WebView 加载网页和java 与js交互
[mw_shl_code=java,true]WebView是一个可以显示网页的控件.需求:通过WebView加载assets下的html文件.实现页面的缩放.向menu键添加:前进.后退和刷新,实现 ...
- Android中Http加载如何得到Cookie和 WebView 加载网页如何得到的Cookie
最近做项目在手机端登录Http请求和 WebView 记载登录获取Cookie信息,可查看Cookie信息. 如图: Http请求获取Cookie信息: public static String re ...
- webView 加载本地文件 - html/htm pdf docx tx
- (void)viewDidLoad { [super viewDidLoad]; [self setupUI]; NSString *path = [[NSBundle mainBundle] p ...
- java加载properties文件的六种方法总结
java加载properties文件的六种方法总结 java加载properties文件的六中基本方式实现 java加载properties文件的方式主要分为两大类:一种是通过import java. ...
- iOS使用webView加载HTML网页链接简单展示
//网页视图 _webView = [[UIWebView alloc]initWithFrame:CGRectMake(0, 64, mWidth, mHeight-64)]; _webView.d ...
- 【iOS】WebView加载HTML图片大小自适应与文章自动换行
在很多App中都会使用到webview,尤其是在加载新闻内容等文章形式的数据时.因为图文混编以及不同字体格式的显示,在iOS进行编辑 和显示都是一大问题(当然,iOS中也可以用CoreText进行绘制 ...
随机推荐
- 微信小程序request请求之GET跟POST的区别
1.GET 例子: wx.request({ url: 'test.php', //仅为示例,并非真实的接口地址 data: { x: '' , y: '' }, header: { 'content ...
- 学习笔记flexbox新布局
FlexBox简称“弹性盒子”,除了用于实现弹性布局,还可以用来居中内容,改变标记中的源码顺序.首先说明IE9及以下浏览器不支持FlexBox. .flex{ display:flex; flex:1 ...
- Javascript 多物体运动1
多物体运动 <!DOCTYPE html><html> <head> <meta charset="UTF-8"> <ti ...
- Java反射机制(带应用)
1.Java的反射机制: Java反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意一个方法和属性:这种动态获取的信息以及动态 ...
- GeoServer中WMS、WFS的请求规范(转载)
1.背景 1.1WMS简介 Web地图服务(WMS)利用具有地理空间位置信息的数据制作地图.其中将地图定义为地理数据可视的表现.这个规范定义了三个操作:GetCapabitities返回服务级元数据, ...
- 基于Docker搭建GitLab服务器
运行环境:CentOS 7.4 一.安装Docker Docker安装可以参照runoob教程(http://www.runoob.com/docker/centos-docker-install.h ...
- 大V云集!参加首届阿里巴巴在线技术峰会的八大理由
由阿里巴巴集团.阿里巴巴技术协会(ATA)和阿里云云栖社区联合举办的首届阿里巴巴在线技术峰会(Alibaba Online Technology Summit)将于7月19日-21日20:00-21: ...
- Tesseract-OCR -01-Tesseract 介绍
Tesseract-OCR -01-Tesseract 介绍 OCR(Optical Character Recognition): 光学字符识别,是指对图片文件中的文字进行分析识别,获取的过程 Te ...
- HTTP Status 500 - Handler processing failed; nested exception is java.lang.NoClassDefFoundError: javax/servlet/jsp/jstl/core/Config
今天在用idea搭建spring mvc时候报了这个错误,缺少jstl的依赖包.由于是使用的spring-core的依赖,而spring-core里面是有jstl的.这就郁闷了,最后是在自己的pom. ...
- 初级游戏外挂编程详解 windows运行原理+游戏辅助编程 游戏外挂编程
详解游戏辅助编程 [目录] 1-什么是Windows API 2-Windows进程 3-Windows 的内存的运行原理 4-windows 中句柄的概念 5-Windows的变量类型 6-辅助实现 ...