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

原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/5102.html

(0)
上一篇 2021年7月16日
下一篇 2021年7月16日

相关推荐

发表回复

登录后才能评论