技术博客http://www.cnblogs.com/ChenYilong/   新浪微博http://weibo.com/luohanchenyilong  

//转载请注明出处--本文永久链接:http://www.cnblogs.com/ChenYilong/p/3497001.html


 

 
iOS程序源代码下载链接:

03.WebView.zip
82.1 MB


 

 

运行效果图:
⓵设置UIWebView之前的显示效果:

⓶设置之后的显示效果:

 
iOS程序源代码下载链接:

03.WebView.zip
82.1 MB

 

 

// ViewController.m

 

 
  1. //  ViewController.m
  2. //  03.WebView演练
  3. //
  4. //  Created by apple on 13-12-28.
  5. //  Copyright (c) 2013年   http://www.cnblogs.com/ChenYilong/  All rights reserved.
  6. ////转载请注明出处--本文永久链接:http://www.cnblogs.com/ChenYilong/p/3497001.html
  7. #import "ViewController.h"
  8. @interface ViewController ()
  9. @property (weak, nonatomic) IBOutlet UIWebView *webView;
  10. @end
  11. @implementation ViewController
  12. /*
  13.  html -> text/html
  14.  文本文件的mimeType -> text/plain
  15.  PDF文件的mimeType -> application/pdf
  16.  docx -> application/vnd.openxmlformats-officedocument.wordprocessingml.document
  17.  */
  18. - (void)viewDidLoad
  19. {
  20.     [super viewDidLoad];
  21.     /*
  22.      <html>
  23.      <head><title>标题</title></head>
  24.      <body>
  25.         <H1>Hell World!</H1>
  26.         <p>大家好!我是王老五!</p>
  27.      </body>
  28.      </html>
  29.      */
  30.     // 通常在开发中,不需要显示网站的完整内容,而只需要其中的部分内容即可。
  31.     // 经典案例是:网络爬虫!要使用网络爬虫,需要一定的正则表达式的基础。
  32.     [_webView loadHTMLString:@"<H1>Hell World!</H1><p>大家好!我是王老五!</p>" baseURL:nil];
  33. }
  34. #pragma mark 加载Word文件
  35. - (void)loadWord
  36. {
  37.     NSString *path = [[NSBundle mainBundle] pathForResource:@"关于.docx" ofType:nil];
  38.     NSData *data = [NSData dataWithContentsOfFile:path];
  39.     
  40.     [_webView loadData:data MIMEType:@"application/vnd.openxmlformats-officedocument.wordprocessingml.document" textEncodingName:@"UTF-8" baseURL:nil];
  41. }
  42. #pragma mark 加载HTMl文件
  43. - (void)loadHTML
  44. {
  45.     NSString *path = [[NSBundle mainBundle] pathForResource:@"demo.html" ofType:nil];
  46.     NSData *data = [NSData dataWithContentsOfFile:path];
  47.     
  48.     [_webView loadData:data MIMEType:@"text/html" textEncodingName:@"UTF-8" baseURL:nil];
  49. }
  50. #pragma mark 加载文本文件
  51. - (void)loadText
  52. {
  53.     NSString *path = [[NSBundle mainBundle] pathForResource:@"关于.txt" ofType:nil];
  54.     NSData *data = [NSData dataWithContentsOfFile:path];
  55.     
  56.     [_webView loadData:data MIMEType:@"text/plain" textEncodingName:@"UTF-8" baseURL:nil];
  57. }
  58. #pragma mark 加载PDF
  59. - (void)loadPDF
  60. {
  61.     // 加载PDF
  62.     NSString *path = [[NSBundle mainBundle] pathForResource:@"iOS6Cookbook.pdf" ofType:nil];
  63.     NSData *data = [NSData dataWithContentsOfFile:path];
  64.     
  65.     [_webView loadData:data MIMEType:@"application/pdf" textEncodingName:@"UTF-8" baseURL:nil];
  66. }
  67. //转载请注明出处--本文永久链接:http://www.cnblogs.com/ChenYilong/p/3497001.html
  68. // 返回指定文件的mimetype类型
  69. // MIMEType是通过Response来获得的
  70. - (NSString *)mimeType:(NSString *)fileName
  71. {
  72.     // 1. url
  73.     // 在苹果开发中,URL有无与伦比的威力,电话、短信等等都是通过URL来调用的
  74.     // 使用NSBundle的URLForResource可以直接获取到沙盒中文件的URL,从而少转换一次
  75.     // 在调用沙盒中的文件时,如果不指定扩展名,就需要指定完整的文件名即可。
  76.     NSURL *url = [[NSBundle mainBundle] URLForResource:fileName withExtension:nil];
  77.     
  78.     // 2. request
  79.     NSURLRequest *request = [NSURLRequest requestWithURL:url];
  80.     
  81.     // 3. 同步连接
  82.     NSURLResponse *response = nil;
  83.     
  84.     [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:nil];
  85.     
  86.     // 4. 获得mimetyp
  87.     return response.MIMEType;
  88. }
  89. @end

 //转载请注明出处--本文永久链接:http://www.cnblogs.com/ChenYilong/p/3497001.html

本文对应pdf文档下载链接,猛戳—>:https://www.evernote.com/shard/s227/sh/e36de57c-fdcd-4705-9dce-7febcd026e37/16527eb1f7aa64885d96a82ae9dba85d

03.WebView演练-iOS开发Demo(示例程序)源代码的更多相关文章

  1. iOS多线程 iOS开发Demo(示例程序)源代码

    本系列所有开发文档翻译链接地址:iOS7开发-Apple苹果iPhone开发Xcode官方文档翻译PDF下载地址(2013年12月29日更新版)   iOS程序源代码下载链接:01.大任务.zip22 ...

  2. 代理设计模式iOS开发Demo(示例程序)源代码

        iOS程序源代码下载链接:03-代理设计模式.zip28.3 KB // main.m // //  main.m //  03-代理设计模式 // //  Created by apple ...

  3. 01-导航实例-QQ空间Demo示例程序源代码

    01-导航实例-QQ空间.zip62.4 KB // MJLoginViewController.h Map // //  MJLoginViewController.h //  01-导航实例-QQ ...

  4. 01-QQ 3-最终重构版 Demo示例程序源代码

      源代码下载链接:01-QQ 3.zip292.5 KB // QQAppDelegate.h Map // //  QQAppDelegate.h //  01-QQ // //  Created ...

  5. 01-modal Demo示例程序源代码

    源代码下载链接:01-modal.zip37.8 KB // MJAppDelegate.h // //  MJAppDelegate.h //  01-modal // //  Created by ...

  6. 02-更改窗口的根控制器 Demo示例程序源代码

      源代码下载链接:02-更改窗口的根控制器.zip18.0 KB // MJAppDelegate.h // //  MJAppDelegate.h //  02-更改窗口的根控制器 // //  ...

  7. 归档普通对象Demo示例程序源代码

    源代码下载链接:06-归档普通对象.zip34.2 KB // MJPerson.h // //  MJPerson.h //  06-归档普通对象 // //  Created by apple o ...

  8. iOS开发:保持程序在后台长时间运行

    iOS开发:保持程序在后台长时间运行 2014 年 5 月 26 日 / NIVALXER / 0 COMMENTS iOS为了让设备尽量省电,减少不必要的开销,保持系统流畅,因而对后台机制采用墓碑式 ...

  9. iOS开发UI篇—程序启动原理和UIApplication

    iOS开发UI篇—程序启动原理和UIApplication   一.UIApplication 1.简单介绍 (1)UIApplication对象是应用程序的象征,一个UIApplication对象就 ...

随机推荐

  1. C语言文法阅读与理解序

    <指针>→*  | * < 指针> <直接声明符>  <标识符> | <直接声明>[]| <直接声明>[常量表达式] | < ...

  2. vue-cli脚手架搭建

    我们使用vue-cli来搭建整个项目,vue-cli就是一个脚手架,步骤很简单,输入几个命令之后就会生成整个项目,里面包括了webpack.ESLint.babel很多配置等等,省了很多事 Vue+ ...

  3. 关于 Oracle Preinstallation RPM

    About the Oracle Preinstallation RPM 来源 https://docs.oracle.com/en/database/oracle/oracle-database/1 ...

  4. Java Map获取key和value 以及String字符串转List方法

    一.问题描述 这里描述两个问题: 1.Java Map获取key和value的方法: 2.String字符串转List的方法: 二.解决方法 1.Java Map获取key和value的方法   2. ...

  5. vue h render function & render select with options bug

    vue h render function & render select with options bug https://github.com/xgqfrms/vue/issues/41 ...

  6. Spring注解原理

    一.注解的基本概念和原理及其简单实用 注解(Annotation)提供了一种安全的类似注释的机制,为我们在代码中添加信息提供了一种形式化得方法,使我们可以在稍后某个时刻方便的使用这些数据(通过解析注解 ...

  7. 第113天:Ajax跨域请求解决方法

    一.原生JS实现ajax 第一步获得XMLHttpRequest对象 第二步:设置状态监听函数 第三步:open一个连接,true是异步请求 第四部:send一个请求,可以发送一个对象和字符串,不需要 ...

  8. HDU2460-Network

    题目 给一个\(n\)个点\(m\)条边的无向连通图,\(Q\)次往图中加边,每次加边后问图中的桥有多少个.(加边后边留着). \(n\le 10^5,m\le 2\times 10^5,Q\le 1 ...

  9. 【明哥报错簿】之【解决eclipse项目小红叉】

    解决方案: 0.如果是jdk版本不一致,直接右击项目名称,选择maven里面的update project.原因一般是maven的pom.xml里面设置的编译插件org.apache.maven.pl ...

  10. C++中关于new及动态内存分配的思考

    如何实现一个malloc? malloc_tutorial.pdf ———————————————————————————————————— 我们知道,使用malloc/calloc等分配内存的函数时 ...