HTML设计到与原生的界面进行交互时,有好的第三方库比如WebViewJavascriptBridge,但对于刚接触的不易使用,其实不用这么麻烦,webView自带的一些交互, 也许可以满足你的需求!
签订UIWebViewDelegate协议;
self.webView = [[UIWebView alloc]initWithFrame:self.view.bounds];
[self.view addSubview:self.webView];
//加载web
NSString *urlName=@"http://www.jianshu.com";
NSURL *urlSt=[NSURL URLWithString:urlName];
NSURLRequest *request = [NSURLRequest requestWithURL:urlSt];
[self.webView setScalesPageToFit:YES];//自适应屏幕
[self.webView loadRequest:request];
_webView.delegate=self;
/*urlStr为每一个webView中按钮点击后,返回给原生界面的链接信息。
里面可以包含信息由后台反馈。比如:需要HTML中一个商品id来请求原生界面,只点击这个商品按钮时 返回的urlStr可以包含这个商品id参数,你只需要截取下来。这样点击HTML中每个商品时都会获得他们的id,进行下一步跳转 */
}
//html页面的每个按钮点击时触发事件
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType{
NSString * urlStr = request.URL.absoluteString ;
NSLog(@"url~~:%@",urlStr);
return YES;
}
/**如果有用的的话 这里是调整html中text的字体大小 100%为原本大小*/
-(void)webViewDidFinishLoad:(UIWebView *)webView{
[UIApplication sharedApplication].networkActivityIndicatorVisible = NO;
[self.webView stringByEvaluatingJavaScriptFromString:@"document.getElementsByTagName('body')[0].style.webkitTextSizeAdjust= '90%'"];
}