之前做到h5与原生交互,原理很简单,当然没有做什么倒入框架之内的其他方式。直接用iOS提供的webview做的。原理就是直接创建一个uiwebview,然后加载h5页面。
代码:
//1、创建一个webView
_webView = [[UIWebView alloc] initWithFrame:CGRectMake(0.f, 0.f, kScreenWidth, kScreenHeight-49.f)];
//设置webView背景颜色
_webView.backgroundColor = [UIColor colorWithRed:248/255.0 green:248/255.0 blue:248/255.0 alpha:1];
//webView的ScrolView代理
_webView.delegate = self;
_webView.scrollView.delegate = self;
_webView.hidden = YES;
[self.view addSubview:_webView];
然后利用iOS系统方法监听用户点击事件(其实就是在这个方法里面获取用户点击时候h5页面里面相应嵌入的a标签链接),这个链接是事先跟开发h5的人员定义好的,之后通过不同的链接原生代码中决定做什么操作:
//监听H5页面的点击事件的URL
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType{
NSLog(@"%@",request.URL);
}