iOS与H5交互总结

作者: 横爬介士 | 来源:发表于2016-03-17 15:05 被阅读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;
    }
    

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

    相关文章

      网友评论

      • 愁云:第四种为什么不考虑呢?现在没有几个人用ios6吧,马上都快ios10了
        横爬介士:@愁云 这个说的在理,第二种的三方库和第四种其实都差不多,不过既然你提出来了,我可以研究一下,谢谢你的提醒
      • 480a52903ce5:加油
        横爬介士:@Potential_YuX 加油加油

      本文标题:iOS与H5交互总结

      本文链接:https://www.haomeiwen.com/subject/mzrclttx.html