您好,歡迎來電子發(fā)燒友網(wǎng)! ,新用戶?[免費注冊]

您的位置:電子發(fā)燒友網(wǎng)>源碼下載>通訊/手機編程>

詳解iOS與H5的交互問題

大?。?/span>0.3 MB 人氣: 2017-09-25 需要積分:1

  iOSH5因其及時響應(yīng)的更新速度媲美著需求的速度和較高的趣味性受到越來越多的用戶的青睞。目前,大多數(shù)的應(yīng)用中都嵌入了H5。優(yōu)點非常明顯。那么在iOS應(yīng)用中如何嵌入一個H5,并且和它進(jìn)行交互就成了一個勢必要掌握的技術(shù)了。本文我將結(jié)合我在項目中的一些需求整理出對應(yīng)的技術(shù)點,僅供參考。

  在iOS開發(fā)中,H5的嵌入可以通過UIWebView或者WKWebView。這兩個都是繼承UIView,來加載web數(shù)據(jù)的類。UIWebView是在iOS2的時候開始使用的。特點是加載速度慢,占用內(nèi)存多,優(yōu)化艱難。WKWebView是在iOS8蘋果新推出的,加載速度快,占用內(nèi)存較少,是一個不錯的選擇。如果想要比較兩者的區(qū)別,您可以選擇一個網(wǎng)頁進(jìn)行測試一下。鑒上所述,我們選擇WKWebView進(jìn)行開發(fā)。好了,廢話不多說了。

  1

  WKWebView創(chuàng)建和加載

  - (void)createWebView

  {

  WKWebViewConfiguration *config = [[WKWebViewConfiguration alloc] init]

  // 根據(jù)需要去設(shè)置對應(yīng)的屬性

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

  webView.navigationDelegate = self;

 ?。踫elf.view addSubview:webView];

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

 ?。踫elf loadWebViewWithURL:url]; // JS調(diào)用OC 添加處理腳本

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

  }

  2

  JS調(diào)用OC代碼

 ?。踫elf.webView.configuration.userContentController addMessageHandler:self name:@“Share”];

  這是利用WKWebView的一個新特性MessageHandler來處理JS調(diào)用原生方法。要實現(xiàn)JS調(diào)用iOS原生方法,步驟見下。

  添加《WKMessageHandler》協(xié)議。讓控制器成為MessageHandler的代理對象。

非常好我支持^.^

(0) 0%

不好我反對

(0) 0%

      發(fā)表評論

      用戶評論
      評價:好評中評差評

      發(fā)表評論,獲取積分! 請遵守相關(guān)規(guī)定!

      ?