URL 以及 UIWebView

URL
只是一个
路径 :
 
        协议头:// 域名/ 资源 (就是要查询的内容)  
 
         比如http://m.baidu.com/s?word=iOS 

 
        上面的是 手机版的域名   

UIWebView


 
  也是一个IOS 程序的控件   能拖   能用代码实现  能设置代理 
 
           nUIWebView是iOS内置的浏览器控件,可以浏览网页、打开文档等

 
   n能够加载html/htm、pdf、docx、txt等格式的文件

 
   n系统自带的Safari浏览器就是通过UIWebView实现的

 
   n在iOS7之前,UILabel、UITextField,以及UITextView都在后台以某种方式使用WebKit来进行文本布
    局和渲染的

 
   n名词解释

 
   n渲染:是CG的最后一道工序,将所设计内容制作成最终效果图或者动画的过程


利用UIWebView
加载资源  演示代码

 
         -NSURL 确定要访问的网络资源

 
         -NSURLRequest 建立网络请求

 

 
   >> 模拟加载百度
 
        //
1.确定要访问的资源——URL

 
       NSURL *url=
[NSURLURLWithString:@"http://www.baidu.com"];


 
   // 2.建立网络请求

 
       NSURLRequest*request = [NSURLRequestrequestWithURL:url];


 
   // 3.UIWebView加载网络请求

 
       [self.webViewloadRequest:request];


 
 >>  点击搜索栏调用  (搜索栏代理方法)
 
             // 开始搜索
 
         -
(void)searchBarSearchButtonClicked:(UISearchBar*)searchBar

 
 {     
 
              NSString*str=searchBar.text;

 
      //
1.判断是否以http开头,如果没有则用百度搜索

 
       if (![strhasPrefix:@"http://"])
{
 
       str=
[NSStringstringWithFormat:@"http://m.baidu.com/s?word=%@",str];

   
}
 
      //
2.在URL中,如果包含中文字符串,需要将字符串转换为带百分号的格式

   
NSURL *url=
[NSURLURLWithString:[strstringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];


   
....
}



 
>>  当需要回退或者前进时 需要用到代理 (事例程序)
 
   #pragma
mark -UIWebView代理方法

 
         #pragma
mark 
- 完成加载,页面链表数据会更新

 
   - (void)webViewDidFinishLoad:(UIWebView*)webView

 
   {     
 
                self.goBackButton.enabled=self.webView.canGoBack;

 
      self.goForwardButton.enabled=self.webView.canGoForward;

 
   }

>>>
Mime Type  :

 
   说白了 Mime  Type 就是在 客户端与服务器对话的一个中转站   

 
   当客户端给服务端发送请求之后  服务端会给客户端一些 保存在Mime Type里面的数据 

 
   然后 客户端一般会用WebView 读取;  利用 (loadData: MIMEType
:textEncondingName: baseURL: )方法

总而言之:

 
                  (1)网络通过二进制数据流的方式可以传输任何格式的数据

 
                  (2)客户端通过通过MimeType就能够知道如何处理接收到的数据


 
   nURL
& Request
向服务器发送请求
 
   nResponse
响应,服务器告诉客户端我给了你什么


 
 演示代码:
 
   #pragma
以二进制数据的形式加载文件

    -
(void)loadDataFile
{

       
// 最最常见的一种情况

       
//
打开IE,访问网站,提示你安装Flash插件

      
// 如果没有这个应用程序,是无法用UIWebView打开对应的文件的

      
//
应用场景:加载从服务器上下载的文件,例如pdf,或者word,图片等等文件

     
 // 加载路径   
NSURL
*fileURL = [[NSBundlemainBundle]
URLForResource:@"iOS
7 Programming Cookbook.pdf"withExtension:nil];

      //
向服务器发送请求   
NSURLRequest
*request = [NSURLRequestrequestWithURL:fileURL];

        
// 服务器的响应对象,服务器接收到请求返回给客户端的   
NSURLResponse
*respnose = nil;

      //
服务器返回的数据   
NSData
*data = [NSURLConnectionsendSynchronousRequest:request
returningResponse:&respnose
error:NULL];

      
 //
在iOS开发中,如果不是特殊要求,所有的文本编码都是用UTF8

      //
先用UTF8解释接收到的二进制数据流

      //
用webView
读取

      [self.webViewloadData:data
MIMEType:respnose.MIMETypetextEncodingName:@"UTF8"baseURL:nil];
}

URL 以及 UIWebView

时间: 2024-07-29 05:31:48

URL 以及 UIWebView的相关文章

UIWebView和UICollectionViewController的使用

UIWebView和UICollectionViewController的使用 UIWebView UIWebView是iOS内置的浏览器的控件, 可以浏览网页, 打开文档等 .系统自带的Safari浏览器就是通过UIWebView实现的, 能够加载html/htm, pdf, docx, txt等格式的文件. 在iOS7之前, UILabel, UITextFiled 以及 UITextView 都在后台以某种方式使用 WebKit来进行文本布局和渲染. 渲染 : 是CG的最后一道工序, 将所

iOS中UIWebView的介绍及用法

建立网络连接步骤 确定URL:明确要访问的网络资源 建立网络请求(URLRequest) 讲请求发送(NSURLConnection.NSURLSession)给服务器 处理服务器返回的数据(代理.block回调) UIWebView UIWebView是iOS内置的浏览器控件,可以浏览网页.打开文档等. 能够加载html.htm.pdf.docx.txt等格式的文件. 系统自带的safari浏览器就是通过UIWebView实现的. 在iOS7之前,UILabel.UITextField.以及U

How to load a local .CSS file & JavaScript resources using iPhone UIWebView Class

This post will cover the basic setup and creation of an application with web content for iPhone that will load local CSS files and some useful JavaScript functions. Most of these hints I found partially in different blogs and forums listed in the ref

Android,iOS打开手机QQ与指定用户聊天界面

在浏览器中可以通过JS代码打开QQ并弹出聊天界面,一般作为客服QQ使用.而在移动端腾讯貌似没有公布提供类似API,但是却可以使用schema模式来启动手机QQ. 以下为具体代码: Android: String url="mqqwpa://im/chat?chat_type=wpa&uin=123456"; startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(url))); iOS: UIWebView *webView

QQ客服代码移动版

mqqwpa://im/chat?chat_type=wpa&uin=910521727&version=1&src_type=web&web_src=qq.com mqqwpa://im/chat?chat_type=wpa&uin=910521727&version=1, 是的,你也许见过强行聊天的代码:  tencent://Message/?Uin=910521727&websiteName=www.qq.com&Menu=yes 但

打开QQ会话

Android:String url="mqqwpa://im/chat?chat_type=wpa&uin=123456";startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(url)));iOS:UIWebView *webView = [[UIWebView alloc] initWithFrame:CGRectZero];NSURL *url = [NSURL URLWithString"mqq://i

iOS WebView的用法

一.UIWebView 可以加载和显示某个URL的网页,也可以显示基于HTML的本地网页或部分网页: a. 加载 URL WebView = [[UIWebView alloc] initWithFrame:CGRectMake(0, 44, 320, 400)]; NSString *path = @"http://www.baidu.com"; NSURL *url = [NSURL URLWithString:path]; [WebView loadRequest:[NSURLR

iOS开发笔记 整理(全)

退回输入键盘 - (BOOL)textFieldShouldReturn:(id)textField{ [textField resignFirstResponder]; } CGRect CGRect frame = CGRectMake (origin.x,origin.y, size.width, size.height):矩形 NSStringFromCGRect(someCG) 把CGRect结构转变为格式化字符串: CGRectFromString(aString) 由字符串恢复出矩

iOS WebView你需要的问题答案

一.UIWebView 可以加载和显示某个URL的网页,也可以显示基于HTML的本地网页或部分网页: a. 加载 URL WebView = [[UIWebView alloc] initWithFrame:CGRectMake(0, 44, 320, 400)]; NSString *path = @"http://www.baidu.com"; NSURL *url = [NSURL URLWithString:path]; [WebView loadRequest:[NSURLR