如何在uniapp中獲取可視區(qū)域的高度(uni.getSystemInfo)
前言
在實(shí)際開發(fā)中我們會(huì)遇到不確定高度的情況,那么在uniapp中我們?nèi)绾潍@取區(qū)域的高度吶?一起來看看吧
使用到的:
uni-app提供了異步(uni.getSystemInfo)和同步(uni.getSystemInfoSync)的2個(gè)API獲取系統(tǒng)信息
uni.getSystemInfo(OBJECT)
異步獲取系統(tǒng)信息
OBJECT 參數(shù)說明:
參數(shù)名 | 類型 | 必填 | 說明 |
success | Function | 是 | 接口調(diào)用成功的回調(diào) |
fail | Function | 否 | 接口調(diào)用失敗的回調(diào)函數(shù) |
complete | Function | 否 | 接口調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功、失敗都會(huì)執(zhí)行) |
success 返回參數(shù)說明,目前需要使用到的:
參數(shù) | 說明 |
windowHeight | 可使用窗口高度 |
statusBarHeight | 手機(jī)狀態(tài)欄的高度 |
一、分析uniapp的可視區(qū)域
是哪塊哪?其實(shí)和我們想的有些出入
其實(shí)就是藍(lán)色區(qū)域=紅色區(qū)域-綠色區(qū)域
代碼:
getClineHeight(){ const res = uni.getSystemInfo({ success:(res=>{ this.clientHeight = res.windowHeight-uni.upx2px(80) }) }); },
tip:注意,在我們的微信小程序中是可以正確顯示的,但是在ios中是有問題的
二、如何在小程序和ios中都能正確顯示
我們只需要獲取系統(tǒng)信息中的platform信息,判斷是ios或者android或者其他
tip注意點(diǎn):
1.注意這里的單位是pxname我們需要將代碼中導(dǎo)航欄寫的css的80rpx轉(zhuǎn)換為40px,使用upx2px直接可以進(jìn)行轉(zhuǎn)換
2.ios本身有44的高度,Android是48
代碼:
getBarHeight(){ const res = uni.getSystemInfoSync() if(res.platform==='ios'){ return 44+res.statusBarHeight }else if(res.platform==='android'){ return 48+res.statusBarHeight }else{ return 0; } }, //獲取可視區(qū)域高度 getClineHeight(){ const res = uni.getSystemInfo({ success:(res=>{ this.clientHeight = res.windowHeight-uni.upx2px(80)-this.getBarHeight(); }) }); },
三、減掉的部分
白色部分=綠色部分(windowHeight)-藍(lán)色部分(ios44,Android48)-橙色部分(getSystemInfoSync中的statusBarHeight)-黑色部分(你設(shè)置的高度或者使用組件的高度,注意單位是px)
windowHeight | 可使用窗口高度 |
windowHeight | 可使用窗口高度 |
減去
代碼:
getBarHeight(){ const res = uni.getSystemInfoSync() if(res.platform==='ios'){ return 44+res.statusBarHeight }else if(res.platform==='android'){ return 48+res.statusBarHeight }else{ return 0; } }, //獲取可視區(qū)域高度 getClineHeight(){ const res = uni.getSystemInfo({ success:(res=>{ this.clientHeight = res.windowHeight-uni.upx2px(80)-this.getBarHeight(); }) }); },
總結(jié)
到此這篇關(guān)于如何在uniapp中獲取可視區(qū)域的高度(uni.getSystemInfo)的文章就介紹到這了,更多相關(guān)uniapp獲取可視區(qū)域的高度內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
echarts實(shí)現(xiàn)餅圖與樣式設(shè)置
這篇文章介紹了echarts實(shí)現(xiàn)餅圖與樣式設(shè)置的方法,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-06-06List Installed Software Features
List Installed Software Features...2007-06-06JavaScript 核心參考教程 RegExp對(duì)象
JavaScript 核心參考教程RegExp對(duì)象,學(xué)習(xí)正則表達(dá)式的朋友可以參考下。2009-10-10基于js?+?html2canvas實(shí)現(xiàn)網(wǎng)頁放大鏡功能
最近接到任務(wù),需實(shí)現(xiàn)【網(wǎng)頁】放大鏡的效果,百度搜索?【js?放大鏡】關(guān)鍵字,千篇一律的都是一些仿淘寶/京東等電商網(wǎng)站中查看規(guī)格大圖的效果實(shí)現(xiàn),根本無法滿足我的需求,于是自己花了點(diǎn)時(shí)間調(diào)研實(shí)現(xiàn),在這里分享給大家,感興趣的朋友可以參考下2023-12-12用js腳本控制asp.net下treeview的NodeCheck的實(shí)現(xiàn)代碼
根據(jù)TreeView2.js修改后的TreeView父節(jié)點(diǎn)與子節(jié)點(diǎn)的CheckBox聯(lián)動(dòng).2010-03-03JavaScript實(shí)現(xiàn)數(shù)字?jǐn)?shù)組按照倒序排列的方法
這篇文章主要介紹了JavaScript實(shí)現(xiàn)數(shù)字?jǐn)?shù)組按照倒序排列的方法,涉及javascript中sort方法的使用技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-04-04javascript Canvas動(dòng)態(tài)粒子連線
這篇文章主要為大家詳細(xì)介紹了javascript Canvas動(dòng)態(tài)粒子連線,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-01-01JavaScript實(shí)現(xiàn)shuffle數(shù)組洗牌操作示例
這篇文章主要介紹了JavaScript實(shí)現(xiàn)shuffle數(shù)組洗牌操作,結(jié)合實(shí)例形式分析了javascript數(shù)組的定義、構(gòu)造、排序等相關(guān)操作技巧,需要的朋友可以參考下2019-01-01