H5与IOSiOS学习

iOS与H5交互总结

2016-03-17  本文已影响3203人  横爬介士

每种语言都由其优劣,出于开发周期,性能等多方面考虑,混编已经成为开发中的一种大趋势。
第一种:比较常见的就是使用OC中自带的UIWebView类,来实现加载H5网页界面。
第二种:WebViewJavascriptBridge开源库使用,然后注入相应的JS。
第三种:reactiveNative,是facebook2015年开放的一个开源框架。
第四种:iOS7之后出了JavaScriptCore.framework用于与JS交互,但是不支持iOS6,暂时先将demo链接放到这里 JavaScriptCoreDemo戳这里下载
一.iOS native与H5交互
创建webView,遵循代理并实现其方法:
1.--webViewDidStartLoad
在该方法中可以让“小菊花”即UIActivityIndicatorView开转
2.--webViewDidFinishLoad
小菊花停止转动,并从界面中移除
3.--webViewDidFailLoadWithError
做相关操作,打印错误原因,重载等
效果如下:

效果图.gif

核心代码很简单,本次测试使用的是百度,且所有设置都写在了懒加载里面。

-(UIWebView *)webView {
    if (!_webView) {
        _webView = [[UIWebView alloc]initWithFrame:[UIScreen mainScreen].bounds];
        _webView.delegate = self;
        //适应屏幕
        _webView.scalesPageToFit = YES;
        //解决iOS9.2以上黑边问题
        _webView.opaque = NO;
        [_webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"https://www.baidu.com"]]];
        NSLog(@"test");
        //关闭多点触控
        _webView.multipleTouchEnabled = YES;
        //加载网页中的电话号码,单击可以拨打
        _webView.dataDetectorTypes = YES;
    }
    return _webView;
}

第四种交互方式不作考虑,剩下的两种交互方式正在研究,后续更新。

上一篇下一篇

猜你喜欢

热点阅读