UIWebView的使用,簡單瀏覽器的實現

jopen 9年前發布 | 999 次閱讀 Objective-C IOS


#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>

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!