您好,欢迎来电子发烧友网! ,新用户?[免费注册]

您的位置:电子发烧友网>源码下载>通讯/手机编程>

详解iOS与H5的交互问题

大小:0.3 MB 人气: 2017-09-25 需要积分:1

  iOSH5因其及时响应的更新速度媲美着需求的速度和较高的趣味性受到越来越多的用户的青睐。目前,大多数的应用中都嵌入了H5。优点非常明显。那么在iOS应用中如何嵌入一个H5,并且和它进行交互就成了一个势必要掌握的技术了。本文我将结合我在项目中的一些需求整理出对应的技术点,仅供参考。

  在iOS开发中,H5的嵌入可以通过UIWebView或者WKWebView。这两个都是继承UIView,来加载web数据的类。UIWebView是在iOS2的时候开始使用的。特点是加载速度慢,占用内存多,优化艰难。WKWebView是在iOS8苹果新推出的,加载速度快,占用内存较少,是一个不错的选择。如果想要比较两者的区别,您可以选择一个网页进行测试一下。鉴上所述,我们选择WKWebView进行开发。好了,废话不多说了。

  1

  WKWebView创建和加载

  - (void)createWebView

  {

  WKWebViewConfiguration *config = [[WKWebViewConfiguration alloc] init]

  // 根据需要去设置对应的属性

  WKWebView *webView = [[WKWebView alloc]initWithFrame:self.view.bounds configuration:config];

  webView.navigationDelegate = self;

  [self.view addSubview:webView];

  NSURL *url = [NSURL URLWithString:self.strURL];

  [self loadWebViewWithURL:url]; // JS调用OC 添加处理脚本

  [self.webView.configuration.userContentController addMessageHandler:self name:@“Share”];

  }

  2

  JS调用OC代码

  [self.webView.configuration.userContentController addMessageHandler:self name:@“Share”];

  这是利用WKWebView的一个新特性MessageHandler来处理JS调用原生方法。要实现JS调用iOS原生方法,步骤见下。

  添加《WKMessageHandler》协议。让控制器成为MessageHandler的代理对象。

非常好我支持^.^

(0) 0%

不好我反对

(0) 0%

      发表评论

      用户评论
      评价:好评中评差评

      发表评论,获取积分! 请遵守相关规定!