关闭

iOS开发-UIWebView加载方式

标签: ios开发uiwebview
261人阅读 评论(0) 收藏 举报
分类:

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

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

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

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

[objc] view plaincopy
  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.       
  10.     NSURL *url = [NSURL URLWithString:urlStr];  
  11.       
  12.     // 2. 把URL告诉给服务器,请求,从m.baidu.com请求数据  
  13.     NSURLRequest *request = [NSURLRequest requestWithURL:url];  
  14.       
  15.     // 3. 发送请求给服务器  
  16.     [self.webView loadRequest:request];  
  17. }  
加载html

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

加载本地文件

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

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

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:52397次
    • 积分:2929
    • 等级:
    • 排名:第12044名
    • 原创:33篇
    • 转载:7篇
    • 译文:218篇
    • 评论:1条
    最新评论