UIWebView的基本使用

Posted on 2016-07-21 22:18  柠檬片  阅读(100)  评论(0)    收藏  举报

1.用WebView加载一个网站

   NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.baidu.com"]];

    [self.webView loadRequest:request];

2.WebView的一些基本方法和属性

  //网页后退

  [self.webView goBack];

  //判断网页是否能后退

  self.webView.canGoBack;

  //网页前进

   [self.webView goForward];

  //判断网页是否能前进

  self.webView.canGoForward;

  //刷新网页

     [self.webView reload];

//让网页内容自适应

  self.webView.scalesPageToFit = YES;

//识别网页中的电话,网址...内容

   self.webView.dataDetectorTypes = UIDataDetectorTypeAll;

 

3.WebView的代理方法

//1.开始加载的时候调用

-(void)webViewDidStartLoad:(UIWebView *)webView

{

    NSLog(@"webViewDidStartLoad");

}

//加载完成

-(void)webViewDidFinishLoad:(UIWebView *)webView

{

     NSLog(@"webViewDidFinishLoad");

}

//加载失败

-(void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error

{

     NSLog(@"didFailLoadWithError");

}

 

 1 #import "ViewController.h"
 2 
 3 @interface ViewController ()<UIWebViewDelegate>
 4 @property (weak, nonatomic) IBOutlet UIWebView *webView;
 5 @property (weak, nonatomic) IBOutlet UIBarButtonItem *goBackBtn;
 6 @property (weak, nonatomic) IBOutlet UIBarButtonItem *foWard;
 7 
 8 @end
 9 
10 @implementation ViewController
11 - (IBAction)goBack:(id)sender {
12     [self.webView goBack];
13 }
14 - (IBAction)forWard:(id)sender {
15     [self.webView goForward];
16 }
17 - (IBAction)reload:(id)sender {
18     [self.webView reload];
19 }
20 
21 -(void)viewDidLoad
22 {
23     [super viewDidLoad];
24     NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.baidu.com"]];
25     
26     [self.webView loadRequest:request];
27     self.webView.scrollView.contentInset = UIEdgeInsetsMake(50, 0, 0, 0);
28     self.webView.dataDetectorTypes = UIDataDetectorTypeAll;
29 //    NSURL *url = [[NSBundle mainBundle]URLForResource:@"text.html" withExtension:nil];
30 //    [self.webView loadRequest:[NSURLRequest requestWithURL:url]];
31     self.webView.scalesPageToFit = YES;
32     self.webView.delegate =self;
33 }
34 //1.开始加载的时候调用
35 -(void)webViewDidStartLoad:(UIWebView *)webView
36 {
37     NSLog(@"webViewDidStartLoad");
38 }
39 //加载完成
40 -(void)webViewDidFinishLoad:(UIWebView *)webView
41 {
42      NSLog(@"webViewDidFinishLoad");
43     
44     self.goBackBtn.enabled = self.webView.canGoBack;
45     self.foWard.enabled = self.webView.canGoForward;
46 }
47 //加载失败
48 -(void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error
49 {
50      NSLog(@"didFailLoadWithError");
51 }
52 
53 //
54 //每次加载请求的时候会先调用,根据返回值判断时候加载请求的网页
55 -(BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
56 {
57     NSLog(@"=-----%@",request.URL.absoluteString);
58     if ([request.URL.absoluteString containsString:@"life"]) {
59         return NO;
60     }
61     return YES;
62 }
63 @end
WebView简单示例