UIWebView的使用,简单浏览器的实现

2021-11-01 09:27:20 浏览数 (1)

代码语言:javascript复制
#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> 

0 人点赞