ios UIWebView 加载网页、文件、 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 UIWebView 加载网页、文件、 html,布布扣,bubuko.com

时间: 2024-10-14 19:29:54

ios UIWebView 加载网页、文件、 html的相关文章

关于iOS UIWebView 加载网页,点击网页内某些控件导致 Application &#39;UIKitApplication:xxx.xxx.xxx&#39; was killed by jetsam.

问题:公司用的腾讯问卷系统,内嵌在我们应用或游戏的自定义UIWebView里面展示,发现在iOS 10 以下系统,点击圆形勾选框 会大概率出现闪退. 通过联调发现:报了这样一个警告Application 'UIKitApplication:xxx.xxx.xxx' was killed by jetsam. 然后没有更多的信息了. (连接真机调试,当发生闪退的时候,设备会同时跟Xcode断开连接,没有更多的错误堆栈,另外设备也没有记录下更多的Crash log 提供定位.) 最后从以下获取到近似

IOS UIwebView加载本地文件(支持显示图片)

1,本地的html文件一定要放到工程文件的根目录 2,html代码中的图片路径一定要是相对路径 3,下面是用UIWebView调用本地文件的方法 方法一: NSString *filePath = [[NSBundle mainBundle]pathForResource:@"1" ofType:@"html"]; NSString *htmlString = [NSString stringWithContentsOfFile:filePath encoding:

IOS嵌套界面下 -UIWebView加载网页显示不全(尺寸适应问题)

最近有个朋友碰到一个关于在嵌套界面下UIWebView加载网页显示不全的问题 咋一看这种问题太easy了.但是不要忽视其背后的真正黑手,现在拿百度首页做个实验(百度就是这点好)先贴上一小段核心代码: 显示效果: 看到没 显示不全.现在你会说快用大招: 解决它.可惜这招也不行. 原因分析:为什么会显示不全呢? 主要问题就出在前面说的关于在嵌套界面下. 可为什么在嵌套界面下就不行呢? 显示不全是个问题. 是的 是个问题而且是个显示界面尺寸不匹配的问题.可在主界面就这可以, 而且frame我都是用的s

iOS UIWebView 加载https站点出现NSURLConnection/CFURLConnection HTTP load failed (kCFStreamErrorDomainSSL,

今天在加载https站点的时候遇到如下的错误问题.所以对自己之前写的iOS内嵌webview做了一些修改,可以让它加载http站点也可以让它加载https站点. 下面是我加载https站点的时候出现的错误. error:     NSURLConnection/CFURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9813) HTTPS 超文本传输安全协议(缩写:HTTPS,英语:Hypertext Transfer Protoc

UIWebView 加载网页、文件、 html-b

UIWebView  是用来加载加载网页数据的一个框.UIWebView可以用来加载pdf word doc 等等文件 生成webview 有两种方法,1.通过storyboard 拖拽 2.通过alloc init 来初始化 创建webview,下列文本中 _webView.dataDetectorTypes = UIDataDetectorTypeAll; 是识别webview中的类型,例如 当webview中有电话号码,点击号码就能直接打电话 [objc] view plain copy

ios UI加载xib文件到控制器的两种方式(MS)

X-code6.3 创建xib文件 加载xib文件到控制器的两种方式(MS) // 1.第一种方式 //    NSArray * array = [[NSBundle mainBundle]loadNibNamed:@"cell" owner:nil options:nil]; //    MyTableViewCell * cell = [array firstObject]; 其中cell为新建的xib文件名 // 2.第二种方式 UINib * nib = [UINib nib

Swift-01 UIWebView加载网页

UIWebView在swift里面的语法,和OC不太一样,但是,使用方法什么的,都是从OC演变过来的.比如,都得有init方法,都有loadRequest方法,所以,有了OC这个基础,学习swift是一件很easy的事情. 这件事情要去坚持,争取将swift用熟练. 一开始,汤老师给了我一份中文翻译版的Swift的文档,从基础讲起,虽然好多都是我不知道的事情,但是看了三四天之后,头就大了,再看新的东西,脑袋里面就不挂渣了,第二天看头一天的东西,一点印象都没有,是不是我没有用心的缘故呢? 不管是啥

ios开发 uiwebview加载网页时阻止禁止取消图片下载

http://www.icab.de/blog/2009/08/18/url-filtering-with-uiwebview-on-the-iphone/ - (NSCachedURLResponse*)cachedResponseForRequest:(NSURLRequest*)request { NSURL *url = [request URL]; BOOL blockURL = [url.absoluteString hasSuffix:@"jpg"] || [url.ab

iOS UIWebView 加载进度条的使用

1/拖到自己的?? 2/ 这是 原文介绍的步骤..但是再加入后,背景回短暂的绿色,我自己是想不要那个闪一下的状态 #import "InspectionReportViewController.h" #import "NJKWebViewProgressView.h" #import "NJKWebViewProgress.h" @interface InspectionReportViewController ()<UIWebViewDe