解決微信小程序自定義navigationBar高度問題
發表時(shí)間:2021-4-13
發布人(rén):融晨科技
浏覽次數:197
在(zài)自定義小程序的(de)navigationBar時(shí),經常會遇到(dào)不(bù)同手機需要(yào / yāo)的(de)navigationBar高度不(bù)一緻的(de)問題,不(bù)能寫死。要(yào / yāo)動态獲取高度。wx提供了(le/liǎo)safearea的(de)方法,但不(bù)是(shì)很好用,在(zài)低版本蘋果機的(de)表現很不(bù)好。所以(yǐ)這(zhè)裏我還是(shì)推薦使用getSystemInfoSync以(yǐ)及getMenuButtonBoundingClientRect方法,獲取手機頂部狀态欄高度,以(yǐ)及小程序右上(shàng)角的(de)菜單按鈕位置信息,綜合計算得到(dào)
計算方法:
navigationBar的(de)高度 = 藍色框高度 * 2 + 菜單按鈕高度
推薦在(zài)小程序onLaunch函數内執行,即首次初始化的(de)時(shí)候執行,避免重複執行,代碼如下:
tips: 寫樣式的(de)時(shí)候,注意小程序的(de)盒模型是(shì)content-box,即高度不(bù)包括padding html樣式如下: