webView

   一个小的浏览器。。。。。。。。。有后退,前进,刷新,停止,转到,本地,调js

1 _webView = [[UIWebView alloc] initWithFrame:CGRectMake(0, 40, self.view.frame.size.width, self.view.frame.size.height-40)];
2     _webView.delegate = self;
3     [self.view addSubview:_webView];

设置几个按钮,添加点击事件,设tag值0~6

后退:[_webView goBack];

前进:[_webView goForward];

刷新:[_webView reload];

停止:[_webView stopLoading];

转到:①首先判断前缀是否有http

         if(![_urlField.text hasPrefix:@"http"]){

                 _urlField.text = [NSString stringWithFormat:@"http://%@",_urlField.text];

          }

         ②发送请求,就会直接转到相应的网站中

          NSURL *url = [NSURL URLWithString:_urlField.text];

          NSURLRequest *request = [NSURLRequest requestWithURL:url];

          [_webView loadRequest:request];

本地:对于本地的html,首先得找到它的路径,将其变成字符串

         NSString *path = [[NSBundle mainBundle] pahtForResource:@"xml2" ofType:@"html"];

         //html字符串

         NSString *htmlStr = [NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:nil];

         [_webView loadHTMLString:htmlStr baseURL:nil];

调js:oc调js,已经有封装好的方法了,可以直接用

         [_webView stringByEvaluatingJavaScriptFromString:@"func()"];

每次刷新的时候,_textField中的网址没有显示,需要一个方法来让其刷新地址栏

 1  (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
 2 {
 3     //请求的地址,刷新地址栏
 4     _urlField.text = request.URL.absoluteString;
 5     //分割字符串
 6     NSArray *array = [_urlField.text componentsSeparatedByString:@"://"];
 7     if([array[0] isEqualToString:@"oc"]){
 8         //获取到javaScript想调用的方法名称
 9         SEL  sel = NSSelectorFromString(array[1]);
10         [self performSelector:sel];
11     }
12     return YES;
13 }
14 
15 - (void)ocFunc
16 {
17     NSLog(@"OC........");
18 }

 

posted @ 2015-04-01 16:04  Angelone  阅读(115)  评论(0编辑  收藏  举报