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

猜你喜欢

转载自blog.csdn.net/GuodongSun0/article/details/46648161