技术博客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. 使用Python 、 go 语言测试rabbitmq的工作机制

    1:在haproxy 和 rabbitmq上安装Python.python2-pip,默认是Python2 yum install -y python python2-pip   2:在haproxy ...

  2. PHP 生成条形码

    <?php class BarCode128 { const STARTA = 103; const STARTB = 104; const STARTC = 105; const STOP = ...

  3. VC的常用调试方法

    前言 VS是非常强大的IDE,所以掌握VSVC的常用方法,将会使得我们找出问题解决问题事半功倍. 目录 VSVC的常用调试方法 前言 1. Watch窗口查看伪变量 2. 查看指针指向的一序列值 3. ...

  4. 内存测试——Android Studio自带内存检测功能

    AndroidStudio 自带 CPU 和内存检测工具,绘制出变化图,可以直观明了的看出内存和cpu的变化曲线. 手机连接电脑,选择要调试的手机,选择要检测的应用进程,Memory是内存监控,CPU ...

  5. Linux 下定位java应用 cpu高的原因(转)

    使用场景: 遇到Linux下java应用cpu占用很高的时候,我们很想知道此时的应用到底在做什么导致资源的消耗. 方便我们进一步定位和优化~ 1.查询cpu耗用top5的进程(你也可以top10) [ ...

  6. BZOJ4953 Wf2017Posterize(动态规划)

    设f[i][j]为前i种强度选了j种且其中第i种选时前i个的最小误差.转移枚举上个选啥前缀和优化即可. #include<iostream> #include<cstdio> ...

  7. redis的sort排序

    Redis排序命令是sort,完整的命令格式如下:SORT key [BY pattern] [LIMIT start count] [GET pattern] [ASC|DESC] [ALPHA] ...

  8. 使用OpenCV进行标定(转载)

    转载自牛猫靖  http://www.cnblogs.com/2008nmj/p/6278076.html 使用OpenCV进行相机标定 1. 使用OpenCV进行标定 相机已经有很长一段历史了.但是 ...

  9. codeforces gym101243 A C D E F G H J

    gym101243 A #include<iostream> #include<cstdio> #include<cmath> #include<cstrin ...

  10. 省选模拟赛 arg

    1 arg (arg.cpp/in/out, 1s, 512MB)1.1 Description给出一个长度为 m 的序列 A, 请你求出有多少种 1...n 的排列, 满足 A 是它的一个 LIS. ...