一種基于ios多uiviewcontroller提升hybrid應(yīng)用體驗的方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及移動應(yīng)用開發(fā)領(lǐng)域,具體地說是一種基于1S多UIVIEWCONTROLLER提升HYBRID應(yīng)用體驗的方法。
【背景技術(shù)】
[0002]隨著移動互聯(lián)網(wǎng)的快速發(fā)展,企業(yè)移動應(yīng)用也呈現(xiàn)多樣化的發(fā)展趨勢,而從移動應(yīng)用的實現(xiàn)技術(shù)體系角度可分為原生應(yīng)用、Web應(yīng)用、Hybrid應(yīng)用。原生應(yīng)用開發(fā)、更新、維護周期長,時間投入和資金成本給企業(yè)移動信息化帶來巨大負擔。Web應(yīng)用雖然彌補了原生應(yīng)用的劣勢,但是其功能無法和原生應(yīng)用媲美,用戶體驗稱為其短板。Hybrid應(yīng)用正是融合了原生應(yīng)用和Web應(yīng)用的優(yōu)勢,具有開發(fā)效率高、維護成本低、用戶體驗好的優(yōu)勢。
[0003]—般情況下,Hybrid應(yīng)用的實現(xiàn)技術(shù)思路分為兩種:一種是基于單UlWebView,另一種是基于多UlWebView。第二種基于多UIWebView的實現(xiàn)思路,其傳統(tǒng)實現(xiàn)方式是使用多View和動畫結(jié)合,達到窗口切換和窗口通信的目的。但是該思路往往實現(xiàn)復(fù)雜,無法充分利用1S操作系統(tǒng)提供的既有技術(shù),如響應(yīng)系統(tǒng)事件功能。
【發(fā)明內(nèi)容】
[0004]本發(fā)明的目的是克服現(xiàn)有技術(shù)中存在的不足,提供一種基于1S多UIVIEWCONTROLLER提升HYBRID應(yīng)用體驗的方法,通過充分使用系統(tǒng)原生提供的技術(shù),提升Hybrid移動應(yīng)用的用戶體驗和應(yīng)用的架構(gòu)靈活性。
[0005]本發(fā)明的技術(shù)方案是按以下方式實現(xiàn)的,其特點是將UIWebView放在單獨的UlViewControlIer 中,由獨立的 UlViewControlIer 管理其內(nèi)部的 UIWebView ;
UIffebView 中的 HTML 頁面通過 JavaScript 與 Objective-C 通信,通知 Objective-C創(chuàng)建新UlViewController,達到打開新頁面的目的,此時就可以使用1S系統(tǒng)提供的UlViewControlIer動畫機制提升應(yīng)用的動畫效果;為了實現(xiàn)UIWebView中HTML頁面之間的通信,還需要保存已經(jīng)打開的UlViewController信息;當UIWebView中HTML頁面通過JavaScript與其他UIWebView通信時,其實是通過Objective-C底層代碼查找已經(jīng)打開的UlViewController,進而找到對應(yīng)的UlWebView,調(diào)用其內(nèi)部HTML頁面的JavaScript函數(shù)即可。
[0006]本發(fā)明的優(yōu)點是:
本發(fā)明的一種基于1S多UIVIEWCONTROLLER提升HYBRID應(yīng)用體驗的方法和現(xiàn)有技術(shù)相比,充分使用系統(tǒng)原生提供的技術(shù),既提升了應(yīng)用的用戶體驗,又保證應(yīng)用的架構(gòu)靈活性,而且本發(fā)明還具有設(shè)計合理、結(jié)構(gòu)簡單、使用方便等特點,因而,具有很好的使用價值。
【具體實施方式】
[0007]下面對本發(fā)明的一種基于1S多UIVIEWCONTROLLER提升HYBRID應(yīng)用體驗的方法作以下詳細說明。
[0008]本發(fā)明的一種基于1S多UIVIEWCONTROLLER提升HYBRID應(yīng)用體驗的方法,其特點是將UIWebView放在單獨的UlViewController中,由獨立的UlViewController管理其內(nèi)部的 UIWebView ;
UIffebView 中的 HTML 頁面通過 JavaScript 與 Objective-C 通信,通知 Objective-C創(chuàng)建新UlViewController,達到打開新頁面的目的,此時就可以使用1S系統(tǒng)提供的UlViewController動畫機制提升應(yīng)用的動畫效果;為了實現(xiàn)UIWebView中HTML頁面之間的通信,還需要保存已經(jīng)打開的UlViewController信息;當UIWebView中HTML頁面通過JavaScript與其他UIWebView通信時,其實是通過Objective-C底層代碼查找已經(jīng)打開的UlViewController,進而找到對應(yīng)的UlWebView,調(diào)用其內(nèi)部HTML頁面的JavaScript函數(shù)艮口可。
[0009]UlViewController為應(yīng)用窗口,按照手機應(yīng)用的布局自底向上依次打開。UlViewControl Ierl是底層的窗口,里面包含UIWebViewl,UIWebViewl可以加載HTML頁面,展現(xiàn)界面控件。
[0010]當點擊UIWebViewl中的控件時打開新窗口 UIViewController2,其結(jié)構(gòu)與UIViewControIlerl 相同。
[0011 ] 本發(fā)明的一種基于1S多UIVIEWCONTROLLER提升HYBRID應(yīng)用體驗的方法其加工制作非常簡單方便,按照說明書所示即可加工。
[0012]除說明書所述的技術(shù)特征外,均為本專業(yè)技術(shù)人員的已知技術(shù)。
【主權(quán)項】
1.一種基于1S多UIVIEWC0NTR0LLER提升HYBRID應(yīng)用體驗的方法,其特征在于將UIffebView放在單獨的UlViewControlIer中,由獨立的UlViewControlIer管理其內(nèi)部的UIffebView ; UIffebView 中的 HTML 頁面通過 JavaScript 與 Objective-C 通信,通知 Objective-C創(chuàng)建新UlViewController,達到打開新頁面的目的,此時就可以使用1S系統(tǒng)提供的UlViewControl Ier動畫機制提升應(yīng)用的動畫效果;為了實現(xiàn)UIWebView中HTML頁面之間的通信,還需要保存已經(jīng)打開的UlViewController信息;當UIWebView中HTML頁面通過JavaScript與其他UIWebView通信時,其實是通過Objective-C底層代碼查找已經(jīng)打開的UlViewController,進而找到對應(yīng)的UlWebView,調(diào)用其內(nèi)部HTML頁面的JavaScript函數(shù)艮口可。
【專利摘要】本發(fā)明提供一種基于IOS多UIVIEWCONTROLLER提升HYBRID應(yīng)用體驗的方法,將UIWebView放在單獨的UIViewController中;UIWebView中的HTML頁面通過JavaScript與Objective-C通信,通知Objective-C創(chuàng)建新UIViewController,達到打開新頁面的目的;為了實現(xiàn)UIWebView中HTML頁面之間的通信,還需要保存已經(jīng)打開的UIViewController信息;當UIWebView中HTML頁面通過JavaScript與其他UIWebView通信時,其實是通過Objective-C底層代碼查找已經(jīng)打開的UIViewController,進而找到對應(yīng)的UIWebView,調(diào)用其內(nèi)部HTML頁面的JavaScript函數(shù)即可。本發(fā)明和現(xiàn)有技術(shù)相比,充分使用系統(tǒng)原生提供的技術(shù),既提升了應(yīng)用的用戶體驗,又保證應(yīng)用的架構(gòu)靈活性,而且本發(fā)明還具有設(shè)計合理、結(jié)構(gòu)簡單、使用方便等特點,因而,具有很好的使用價值。
【IPC分類】G06F9/44
【公開號】CN105183471
【申請?zhí)枴緾N201510558572
【發(fā)明人】王振峰, 劉桂海
【申請人】浪潮軟件股份有限公司
【公開日】2015年12月23日
【申請日】2015年9月6日