ios webView怎么实现JS调原生

1)在方法- (void)webViewDidFinishLoad:(UIWebView *)webView 中

self.jsContext = [self.webView valueForKeyPath:@"documentView.webView.mainFrame.javaScriptContext"];
//打开相机 身份正面照按钮
self.jsContext[@"callLeftCamera"] = ^() {
   dispatch_async(dispatch_get_main_queue(), ^
   {
   });
};

callLeftCamera为原生方法
2) 在- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType ;方法中 使用拦截的方法进行操作

需要注意是否要在主线程中执行操作 ,例如刷新UI的时候 

猜你喜欢

转载自blog.csdn.net/u013983033/article/details/83826158