UIWebView的使用,簡單瀏覽器的實現
#import "ViewController.h"@interface ViewController () <UIWebViewDelegate>
@property(nonatomic,weak)UIWebView* web; @end
@implementation ViewController
(void)viewDidLoad { [super viewDidLoad];
[self _setTextField];
[self _loadWebView];
}
pragma mark - 設置輸入框
- (void)_setTextField{ self.tf.clearButtonMode=UITextFieldViewModeWhileEditing; }
pragma mark - 加載WebView
- (void)_loadWebView{ UIWebView* web=[[UIWebView alloc] init]; web.frame=CGRectMake(0,self.view.frame.size.height,self.view.frame.size.width,self.view.frame.size.height-42 ); self.web=web; web.delegate=self; [self.view addSubview:web];
}
pragma mark - 放棄第一響應
-(void)touchesBegan:(NSSet )touches withEvent:(UIEvent )event{ [self.tf resignFirstResponder];
}
pragma mark - Action
- (IBAction)backAction:(id)sender { [self.web goBack]; // self.web.frame=CGRectMake(0,self.view.frame.size.height,self.view.frame.size.width,self.view.frame.size.height-42 );
}
(IBAction)forwardAction:(id)sender { [self.web goForward]; self.web.frame=CGRectMake(0,20,self.view.frame.size.width,self.view.frame.size.height-50); }
(IBAction)undoAction:(id)sender { [self.web stopLoading]; }
(IBAction)refreshAction:(id)sender { [self.web reload]; }
(IBAction)searchAction:(id)sender { [self.tf resignFirstResponder];
self.web.frame=CGRectMake(0,20,self.view.frame.size.width,self.view.frame.size.height-60);
[self _sendRequest]; }
pragma mark - UIWebViewDelegate
- (BOOL)webView:(UIWebView )webView shouldStartLoadWithRequest:(NSURLRequest )request navigationType:(UIWebViewNavigationType)navigationType{
return YES;
}
- (void)webViewDidStartLoad:(UIWebView *)webView{
}
(void)webViewDidFinishLoad:(UIWebView *)webView{ // NSLog(@"%d===%d",[webView canGoBack],[webView canGoForward]); self.backBt.enabled=[webView canGoBack]; self.forwardBt.enabled=[webView canGoForward]; self.refresh.enabled=([webView canGoBack] ||[webView canGoForward]); }
(void)webView:(UIWebView )webView didFailLoadWithError:(NSError )error{ NSLog(@"%@",error);
}
- (void)_sendRequest{ //http://www.baidu.com NSURL url=[NSURL URLWithString:self.tf.text]; NSURLRequest request=[NSURLRequest requestWithURL:url]; [self.web loadRequest:request]; }
@end</pre>