背景:
最近公司准备上一个只有原生登录界面 + H5网页 ,并且支持ios7.0 以上系统的混合app;这可把我难住了,原生的UI界面我可以正写反写各种style把界面搭建起来。而要这个app的难点在于交互,与前端h5 的交互。
经同事推荐,使用webViewJavascripeBridge 这个交互三方神器;
准备工作,把webViewJavascripeBridge 导入到xcode工程中,或用cocoapod管理
废话不多说,上代码
一、 首先是ios端的代码:
- (void)viewDidLoad {
[super viewDidLoad];
UIWebView* webView = [[UIWebView alloc] initWithFrame:self.view.bounds];
[self.view addSubview:webView];
[WebViewJavascriptBridge enableLogging];
_bridge = [WebViewJavascriptBridge bridgeForWebView:webView];
(1)h5向客户端通讯,让客户端能响应到网页的点击事件
[_bridge registerHandler:@"logOut" handler:^(id data, WVJBResponseCallback responseCallback) {
//登出操作
[self logOutBtnClick];
}];
(2)客户端向h5通讯,把账号和密码传输过去,让网页调用登录接口
id data = @{@"phone":账号,@"password":MD5密码};
[_bridge callHandler:@"login" data:data responseCallback:^(id response) {
}];
(3)加载html网址
[webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:目标html]]];
}
明天继续贴h5端代码