問題:angular.js+ionic框架,要適應(yīng)不同手機(jī)頭部與內(nèi)容的高度?
之前沒有接觸過angular.js,認(rèn)為這個框架Vue一樣,上手還比較簡單,后來,在實(shí)際的工作當(dāng)中,我才明白自己想的太簡單了。
第一次在iphone上開發(fā)的App的時候,將content離ion-header-bar高度調(diào)至10px,從UI上剛好達(dá)到了設(shè)計(jì)師的要求,等切換到了安卓手機(jī)觀看,才發(fā)現(xiàn)之前的10px高度居然變成了30px高度,然后我又在Html中將高度增加20px,結(jié)果到了iPhone手機(jī),content與header居然有交叉,高度給的太少了。
我是新手一枚,第一次參加項(xiàng)目開發(fā),遇到這個問題,來回折騰了有些嗆。打算寫js來判斷它是iOS系統(tǒng)還是android系統(tǒng),但是又不知道從何處下手。后來,在同事的幫助下,我才知道,原來ionic框架早就把這個問題想好了,不用我自己去寫代碼判斷。
它本身就有一個$ ionPlatform方法,在控制器中可以判斷。
于是,我就在controllers.js 里進(jìn)行判斷:
? if (ionic.Platform.isIOS()) {? $scope.position_headbar_top='106';? $scope.content_top='108px';? ? ? ? }? ? else{ $scope.content_top='88px'; $scope.position_headbar_top='86';? ? ? ? ? }
然后在HTML里面 的 ion-content 寫上content_top。來回切換多次,發(fā)現(xiàn)高度可以自適應(yīng)iOS和android,這個問題解決了,心里很是高興,同時也有些不安。
因?yàn)閕onic框架我也沒有接觸過,沒有想到著框架這么方便,讓我忍不住想要進(jìn)一步去了解它。于是,我上網(wǎng)查了查Ionic,官網(wǎng)文檔【http://www.ionic.wang/js_doc-index-id-21.html】上這樣介紹:
Ionic既是一個CSS框架也是一個Javascript UI庫。許多組件需要Javascript才能產(chǎn)生神奇的效果,盡管通常組件不需要編碼,通過框架擴(kuò)展可以很容易地使用。Ionic遵循視圖控制模式,通俗的理解和 Cocoa 觸摸框架相似。在視圖控制模式中,我們將界面的不同部分分為子視圖或包含其他視圖的子視圖控制器。然后視圖控制器“驅(qū)動”內(nèi)部視圖來提供交互和UI功能。一個很好的例子就是標(biāo)簽欄(Tab Bar)視圖控制器處理點(diǎn)擊標(biāo)簽欄在一系列可視化面板間切換。Ionic 是目前最有潛力的一款 HTML5 手機(jī)應(yīng)用開發(fā)框架。通過 SASS 構(gòu)建應(yīng)用程序,它 提供了很多 UI 組件來幫助開發(fā)者開發(fā)強(qiáng)大的應(yīng)用。 它使用 JavaScript MVVM 框架和 AngularJS 來增強(qiáng)應(yīng)用。提供數(shù)據(jù)的雙向綁定,使用它成為 Web 和移動開發(fā)者的共同選擇。
然后從頭開始了解這個框架,于是,我就開始寫這些筆記,來記下自己在工作以及學(xué)習(xí)中遇到的問題,分享出來,讓自己學(xué)以致用。