浅谈oc与js交互(一 初识UIWebView)

1、最近公司做项目,项目中需要oc调用js。于是对关于这方面的只是做了一些总结。

一、UIWebView是一个加载网页视图的控件,进入API文件,里面的属性和方法也不是很多,算是一个比较简单UI控件。

UIWebView为什么可以滑动? 因为UIWebView的子控件中包含的UIScrollView

webView.scrollView.scrollEnabled = NO;//禁止webView的滑动效果

二、UIWebView加载HTML标签的3中方式
- (void)loadRequest:(NSURLRequest *)request;
- (void)loadHTMLString:(NSString *)string baseURL:(nullable NSURL
*)baseURL;
- (void)loadData:(NSData *)data MIMEType:(NSString *)MIMEType
textEncodingName:(NSString *)textEncodingName baseURL:(NSURL
*)baseURL;

1)、加载一个连接

UIWebView *webView = [[UIWebView alloc]initWithFrame:CGRectMake(0, 0, self.view.bounds.size.width, 400)];
[self.view addSubview:webView];
NSURL *url = [NSURL URLWithString:@"http://www.baidu.com"];
NSURLRequest *request = [[NSURLRequest alloc]initWithURL:url];
[webView loadRequest:request];

2)、加载HTML字符串

  UIWebView *webView = [[UIWebView alloc]initWithFrame:CGRectMake(0, 0, self.view.bounds.size.width, 400)];
[self.view addSubview:webView];
NSString *htmlStr = @"

这是一段文字

"; [webView loadHTMLString:htmlStr baseURL:nil];

3)、加载NSData类型数据

  UIWebView *webView = [[UIWebView alloc]initWithFrame:CGRectMake(0, 0, self.view.bounds.size.width, 400)];
[self.view addSubview:webView];
NSString *htmlStr = @"

这是一段文字

"; NSData *data = [htmlStr dataUsingEncoding:NSUTF8StringEncoding]; [webView loadData:data MIMEType:@"text/html" textEncodingName:@"UTF-8" baseURL:[[NSBundle mainBundle] bundleURL]];

三、UIWebView中 oc调用js 关键方法
- (nullable NSString *)stringByEvaluatingJavaScriptFromString:(NSString *)script;

四、UIWebView的代理方法

 - (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType;//每当webView即将发送一个请求之前,都会调用这个方法
 - (void)webViewDidStartLoad:(UIWebView *)webView;//webView已经加载
 - (void)webViewDidFinishLoad:(UIWebView *)webView;//webView完成加载
 - (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error;//webView加载错误

你可能感兴趣的:(浅谈oc与js交互(一 初识UIWebView))