链接地址:http://blog.csdn.net/codywangziham01/article/details/37658399

转自:http://www.maxiaoguo.com/clothes/255.html

UIWebView  是用来加载加载网页数据的一个框。UIWebView可以用来加载pdf word doc 等等文件

生成webview 有两种方法,1、通过storyboard 拖拽 2、通过alloc init 来初始化

创建webview,下列文本中 _webView.dataDetectorTypes = UIDataDetectorTypeAll; 是识别webview中的类型,例如 当webview中有电话号码,点击号码就能直接打电话

  1. - (UIWebView *)webView
  2. {
  3. if (!_webView) {
  4. _webView = [[UIWebView alloc] initWithFrame:self.view.bounds];
  5. _webView.dataDetectorTypes = UIDataDetectorTypeAll;
  6. }
  7. return _webView;
  8. }

加载网页

  1. // 让浏览器加载指定的字符串,使用m.baidu.com进行搜索
  2. - (void)loadString:(NSString *)str
  3. {
  4. // 1. URL 定位资源,需要资源的地址
  5. NSString *urlStr = str;
  6. if (![str hasPrefix:@"http://"]) {
  7. urlStr = [NSString stringWithFormat:@"http://m.baidu.com/s?word=%@", str];
  8. }
  9. NSURL *url = [NSURL URLWithString:urlStr];
  10. // 2. 把URL告诉给服务器,请求,从m.baidu.com请求数据
  11. NSURLRequest *request = [NSURLRequest requestWithURL:url];
  12. // 3. 发送请求给服务器
  13. [self.webView loadRequest:request];
  14. }

加载html

  1. // HTML是网页的设计语言
  2. // <>表示标记</>
  3. // 应用场景:截取网页中的某一部分显示
  4. // 例如:网页的完整内容中包含广告!加载完成页面之后,把广告部分的HTML删除,然后再加载
  5. // 被很多新闻类的应用程序使用
  6. [self.webView loadHTMLString:@"<p>Hello</p>" baseURL:nil];

加载本地文件

  1. #pragma mark - 加载文件
  2. - (void)loadFile
  3. {
  4. // 应用场景:加载从服务器上下载的文件,例如pdf,或者word,图片等等文件
  5. NSURL *fileURL = [[NSBundle mainBundle] URLForResource:@"关于.txt" withExtension:nil];
  6. NSURLRequest *request = [NSURLRequest requestWithURL:fileURL];
  7. [self.webView loadRequest:request];
  8. }

以二级制的方式加载本地文件

    1. #pragma 以二进制数据的形式加载文件
    2. - (void)loadDataFile
    3. {
    4. // 最最常见的一种情况
    5. // 打开IE,访问网站,提示你安装Flash插件
    6. // 如果没有这个应用程序,是无法用UIWebView打开对应的文件的
    7. // 应用场景:加载从服务器上下载的文件,例如pdf,或者word,图片等等文件
    8. NSURL *fileURL = [[NSBundle mainBundle] URLForResource:@"iOS 7 Programming Cookbook.pdf" withExtension:nil];
    9. NSURLRequest *request = [NSURLRequest requestWithURL:fileURL];
    10. // 服务器的响应对象,服务器接收到请求返回给客户端的
    11. NSURLResponse *respnose = nil;
    12. NSData *data = [NSURLConnection sendSynchronousRequest:request returningResponse:&respnose error:NULL];
    13. NSLog(@"%@", respnose.MIMEType);
    14. // 在iOS开发中,如果不是特殊要求,所有的文本编码都是用UTF8
    15. // 先用UTF8解释接收到的二进制数据流
    16. [self.webView loadData:data MIMEType:respnose.MIMEType textEncodingName:@"UTF8" baseURL:nil];
    17. }

iOS 纯代码适配iPhone6,6+的更多相关文章

  1. iOS纯代码适配masonry中mas_的问题

    //equalto 和 mas_equalto 是有区别的.但是我们不打算去了解,可以通过添加以下代码来统一. //注意!! 宏定义必须要放在 import 引入头文件之前! //define thi ...

  2. iOS纯代码工程手动快速适配

    首先说下让自己的程序支持iPhone6和6+,第一种使用官方提供的launch screen.xib,这个直接看官方文档即可,这里不再多述:第二种方法是和之前iPhone5的类似,比较简单,为iPho ...

  3. iOS纯代码手动适配 分类: ios技术 2015-05-04 17:14 239人阅读 评论(0) 收藏

    首先说下让自己的程序支持iPhone6和6+,第一种使用官方提供的launch screen.xib,这个直接看官方文档即可,这里不再多述:第二种方法是和之前iPhone5的类似,比较简单,为iPho ...

  4. autoLyout纯代码适配

    前言 1 MagicNumber -> autoresizingMask -> autolayout 以上是纯手写代码所经历的关于页面布局的三个时期 在iphone1-iphone3gs时 ...

  5. ios - 纯代码创建collectionView

    开始考虑好一点点时间,因为一般的都是用xib,或者storyboard来写的.这次用纯代码...废话较多请看 首先把storyboard干掉,工程里面的main干掉 由于干掉了storyboard则启 ...

  6. Object-C iOS纯代码布局 一堆代码可以放这里!

    前言: 最近写的文章都是创业类,好吧,今天好好写写技术类的文章! 不过分享的不是IOS相关的文章,毕竟这几天在速成IOS,看的是object-c,由于速成的很快,好累! 好在现在基本已经入了点门道了, ...

  7. Objective-C iOS纯代码布局 一堆代码可以放这里!

    前言: 最近写的文章都是创业类,好吧,今天好好写写技术类的文章! 不过分享的不是IOS相关的文章,毕竟这几天在速成IOS,看的是objective-c,由于速成的很快,好累! 好在现在基本已经入了点门 ...

  8. [ios]纯代码实现UITableViewCell的自定义扩展

    (转)参考:http://blog.sina.com.cn/s/blog_65cbfb2b0101cd60.html 第一种, 简单的增加UITableViewCell一些小功能 例如在cell上面添 ...

  9. iOS纯代码制作欢迎界面——UIScrollView, UIPageControl, UIImageView,UIButton, NSTimer

    欢迎界面,还是比较简单的,一个UIScrollView控件,一个UIPageControl,几个UIImageView即可摆平.在这里光玩这些,就显得诚意不足了.特意拓展一下,再加几个UIButton ...

随机推荐

  1. Qt中如何禁掉所有UI操作以及注意事项(处理各个widget的eventFilter这一层,但是感觉不好,为什么不使用QApplication呢)

    刚做完的一个项目,在测试时出现了一个问题:由于多线程的存在,当进行语音识别时:如果用户点击程序界面上的button或者其他接受点击事件后会发出信号的widget时,程序会crash ! 后来尝试着从多 ...

  2. Java学习疑惑(8)----可视化编程, 对Java中事件驱动模型的理解

    我们编写程序就是为了方便用户使用, 我觉得UI设计的核心就是简洁, 操作过于繁琐的程序让很大一部分用户敬而远之. 即使功能强大, 但是人们更愿意使用易于操作的软件. 近年流行起来的操作手势和逐渐趋于成 ...

  3. MFC非模态对话框销毁

    非模态对话框需要重载OnCanel方法, 并调用DestroyWindow, 且不能调用基类的OnCanel重载PostNcDestroy, 需要delete掉this指针 // Overrides  ...

  4. Vxlan 原理

    https://www.gitbook.com/book/yeasy/openstack_understand_neutron/details 自己总结一下: 分析 VTEP的情况, 即Vxlan跟V ...

  5. 简单C#文字转语音

    跟着微软走妥妥的,C#文字转语音有很多参数我就不说了,毕竟我也是初学者.跟大家分享最简单的方法,要好的效果得自己琢磨喽: 先添加引用System.Speech程序集: using System; us ...

  6. JavaScript之怎样获取元素节点

    JavaScript获取元素节点一共有三种方法,分别是通过元素ID.通过标签名字和通过类名字来获取: 1.通过元素ID属性的ID值来获得元素对象-getElementById() DOM提供了一个名为 ...

  7. Matlab中用内建函数代替for循环

    在使用matlab进行矩阵计算的时候,经常会遇到要使用for循环的情况.但其实很多操作可以用内部的一些函数代替. bsxfun, arrayfun, cellfun, spfun, structfun ...

  8. Java多线程yield

    前言: 前几天复习了一下多线程,发现有许多网上讲的都很抽象,所以,自己把网上的一些案例总结了一下! 一. Thread.yield( )方法: 使当前线程从执行状态(运行状态)变为可执行态(就绪状态) ...

  9. hdu 3530 Subsequence 单调队列

    题目链接 题目给出n个数, 一个下界m, 一个上界k, 让你求出最长的一段序列, 满足这段序列中的最大的数-最小的数<=k&&>=m, 输出这段长度. 可以维护两个队列, ...

  10. Python 标识符

    Python 标识符 在python里,标识符有字母.数字.下划线组成. 在python中,所有标识符可以包括英文.数字以及下划线(_),但不能以数字开头. python中的标识符是区分大小写的. 以 ...