概述
前面了解了PhoneGap的基本原理,很多應(yīng)用如Instagram, Basecamp使用native的控制的方式提供導(dǎo)航及頁(yè)面切換叉跛,而主要的內(nèi)容頁(yè)面由基于Cordova的webview來(lái)負(fù)責(zé)呈現(xiàn)墨叛,本文通過(guò)探討如何在iOS平臺(tái)上集成PhoneGap东囚,深度理解其框架和運(yùn)行機(jī)制窿春。
本文的項(xiàng)目是創(chuàng)建兩個(gè)View螃概,一個(gè)是Cordova的webview(即使用PhoneGap創(chuàng)建的Web頁(yè)面)嘀倒,另外一個(gè)是native的View屈留。重點(diǎn)是如果在iOS環(huán)境下創(chuàng)建和顯示webview,以及如何將webview中的數(shù)據(jù)傳遞到native View测蘑。本文講解的代碼參見附件灌危。
Cordova Webviw
MainViewController繼承于CDVViewController,提供PhoneGap API的訪問(wèn):
WebView與Native View的通信
它們之間通過(guò)Cordova plugin實(shí)現(xiàn)碳胳,下面代碼的MyHybridPlugin繼承CDPlugin:
PhoneGap Web部分
index.html定義UI界面及事件處理:
上面的cordova.exec調(diào)用到了MyHybridPlugin新定義的接口startTest勇蝙。
運(yùn)行結(jié)果