微信小程序自定義頭部

1.在對應界面的json文件,將navigationStyle屬性設置為“custom”

"navigationStyle":"custom"

2. 狀態欄的高度可以通過?wx.getSystemInfo()?獲取。

膠囊按鈕的信息可以通過?wx.getMenuButtonBoundingClientRect()?獲取。

導航欄高度=狀態欄高度+膠囊按鈕的高度+(膠囊按鈕距離頂部的距離-狀態欄的高度)*2。

由于膠囊按鈕是原生組件,為表現一致,其單位在各個系統都為 px,所以自定義導航欄高度的單位都必須是 px,才能完美適配。

wxml

<view class="header-box"><view style="height:{{capsuleHeight}}px;top:{{capsuleTop}}px" class='back'><van-icon name="arrow-left" color="#333" bindtap='navBack' size="50rpx" /></view><view class="nav-title" style="height:{{capsuleHeight}}px;top:{{capsuleTop}}px">物聯網數據</view><image src="/static/images/news.png" mode="scaleToFill"></image>
</view>

wxss:

.header-box{width: 100%;position:relative;
}
.header-box image {width: 100%;
}
.other-box{position: absolute;top: 370rpx;
}
.back{position: absolute;left: 40rpx;display: flex;align-items: center;justify-content: center;
}
.nav-title{position: absolute;left: 50%;transform: translateX(-50%);font-size: 32rpx;font-weight: bold;display: flex;align-items: center;justify-content: center;
}

js

onLoad(){wx.getSystemInfo({success: res => {this.setData({statusBarHeight:res.statusBarHeight // 獲取狀態欄的高度})}})// 獲取膠囊信息this.data.capsule = wx.getMenuButtonBoundingClientRect()  // 獲取膠囊按鈕的信息this.setData({capsuleTop:this.data.capsule.top, //  膠囊距離屏幕頂部的距離capsuleHeight:this.data.capsule.height, // 膠囊高度})this.setData({// 導航欄高度=狀態欄高度+膠囊按鈕的高度+(膠囊按鈕距離頂部的距離-狀態欄的高度)*2navbarHeight:(this.data.capsule.top-this.data.statusBarHeight)*2+this.data.capsule.height+this.data.statusBarHeight // 導航欄高度})
}

該頁面自定義頭部,也支持分享好友,導致分享出去點左上角的返回沒有反應

// 自定義導航返回按鈕
navBack(){  let pages = getCurrentPages(); //獲取所有頁面if (pages.length <= 1){// 返回首頁wx.switchTab({url: '/pages/index/index',});} else {// 返回上一頁wx.navigateBack({delta: 1,});}      }

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/15153.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/15153.shtml
英文地址,請注明出處:http://en.pswp.cn/web/15153.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

截圖工具PixPin(比Snipaste更強大)

PixPin官網鏈接&#xff1a;https://pixpinapp.com/ 最近新出的一款截圖工具PixPin&#xff0c;比Snipaste功能多一些。在Snipaste功能基礎上&#xff0c;還支持長截圖&#xff0c;截動圖&#xff0c;文本識別。

C++11-獨占指針unique_ptr原理實現

獨占指針&#xff08;unique_ptr&#xff09;是C11標準引入的一種智能指針&#xff0c;用于獨占管理動態分配對象的生命周期。unique_ptr確保對象在同一時間只有一個所有者&#xff0c;防止對象被多個指針共享。下面是unique_ptr的實現原理及其內存管理機制。 unique_ptr 的基…

618好物推薦,省心省力省錢包!

一年一度的“618”購物狂歡節又來啦&#xff01;大家都心動了吧&#xff0c;購物車也早就堆滿了心儀的好物。別急&#xff0c;別急&#xff0c;讓我給你們推薦幾款真正值得入手的寶貝&#xff0c;讓你們省心、省力還省錢包&#xff01;不管是給自己添置點新裝備&#xff0c;還是…

Vue實現一個動態添加行的表格?

在Vue中實現一個動態添加行的表格可以通過以下步驟來完成&#xff0c;如下所示。 步驟 1&#xff1a;設置表格的數據模型 在Vue組件中定義表格的數據模型&#xff0c;通常使用一個數組來存儲表格的數據。每一行數據可以是一個對象&#xff0c;對象的屬性對應表格的列。 data(…

MFC 編程:Windows 桌面應用程序開發框架

目錄 一.概述 二.MFC 與 Win32 的關系 三.CObject 類 1.CObject 類的主要功能 2.CObject 類的派生類 3.CObject 類成員函數 4.內存管理 對象的創建 對象的銷毀 引用計數 復制對象 5.序列化 序列化的概念 CObject 類的序列化功能 序列化示例 6.運行時類型信息 …

uniapp App去除iOS底部安全區域白邊

未設置的情況下&#xff0c;iOS底部安全區域白邊 如圖&#xff1a; 去除方法&#xff1a; 在 mainfest.json 中加入一下代碼&#xff1a; "safearea" : {"bottom" : {"offset" : "none"} }, 去除效果展示&#xff1a;

Git使用筆記

Git使用筆記 介紹Git推送指定的提交 介紹 Git推送指定的提交 在Git中&#xff0c;如果只想推送一個特定的提交&#xff08;commit&#xff09;&#xff0c;而不是整個分支&#xff0c;可以使用以下步驟&#xff1a; 首先&#xff0c;找到你想要推送的提交的哈希值。通過運行g…

開放式耳機2024超值推薦!教你如何選擇藍牙耳機!

開放式耳機的便利性讓它在我們的日常生活中變得越來越重要。它讓我們擺脫了傳統耳機的限制&#xff0c;享受到了更多的自由。不過&#xff0c;市面上的開放式耳機種類繁多&#xff0c;挑選一款既實用又實惠的產品確實需要一些小竅門。作為一位對開放式耳機頗有研究的用戶&#…

SOLC install 中的問題

solc.install 總是卡死&#xff0c;他拉取的網站出問題了 直接把所有的包都下載下來 sudo add-apt-repository ppa:ethereum/ethereum sudo apt-get update sudo apt-get install solc pip install py-solc-x 文檔 https://web3py.readthedocs.io/en/stable/web3.contract.h…

[WUSTCTF2020]funnyre

ida打開 mian 函數 不能反匯編&#xff0c;往下翻有一處報紅&#xff0c;一看是花指令&#xff0c;還怪長&#xff0c;報紅的都nop后&#xff0c;全選按P重新生成函數 三百多個變量&#xff0c;也是不太可能一個個去解了&#xff0c;剛好前兩天簡單練了一下 angr &#xff08;…

C++多生產者,多消費者模型

C11實現多生產者&#xff0c;多消費者模型 在C標準庫中實現多生產者多消費者模型&#xff0c;可以使用std::thread、std::queue、互斥鎖(std::mutex)、條件變量(std::condition_variable)等組件。下面是一個簡單的示例&#xff0c;展示如何創建多生產者和多消費者模型&#xf…

3款錄屏錄制軟件,打造專業級視頻內容

隨著技術的不斷發展&#xff0c;人們在日常工作和學習中經常會遇到記錄電腦屏幕的需求&#xff0c;例如錄制游戲過程、制作教程、保存會議記錄等。為了解決這一需求&#xff0c;許多錄屏錄制軟件應運而生。本文將介紹三款常見的錄屏錄制軟件&#xff0c;通過分析它們的特點和使…

一文帶你搞懂DiT(Diffusion Transformer)

節前&#xff0c;我們組織了一場算法崗技術&面試討論會&#xff0c;邀請了一些互聯網大廠朋友、今年參加社招和校招面試的同學。 針對大模型技術趨勢、大模型落地項目經驗分享、新手如何入門算法崗、該如何準備面試攻略、面試常考點等熱門話題進行了深入的討論。 總結鏈接…

ArcGIS中分割與按屬性分割的區別

1、分割ArcGIS批量導出各個市的縣級行政邊界 視頻教學&#xff1a; ArcGIS批量導出各個市的縣級行政邊界002 2、ArcGIS批量導出全國各省的邊界 視頻教學&#xff1a; ArcGIS導出全國各省的邊界003 推薦學習&#xff1a; ArcGIS全系列實戰視頻教程——9個單一課程組合系列直播回…

[書生·浦語大模型實戰營]——第二節:輕松玩轉書生·浦語大模型趣味 Demo

1. 部署InternLM2-Chat-1.8B 模型進行智能對話 1.1配置環境 創建開發機 Intern Studio 官網網址&#xff1a;https://studio.intern-ai.org.cn/ 進入官網后&#xff0c;選擇創建開發機&#xff0c;填寫 開發機名稱 后&#xff0c;點擊 選擇鏡像 使用 Cuda11.7-conda 鏡像&am…

CSS中的Flex布局

目錄 一.什么是Flex布局 二.Flex布局使用 2.1Flex使用語法 2.2基本概念 三.容器的屬性 3.1所有屬性概述 3.2flex-direction 3.3flex-wrap 3.4flex-flow 3.5justify-content 3.6align-items 3.7align-content 四.項目(子元素)的屬性 4.1所有屬性概述 4.2order 4…

遺傳算法(Genetic Algorithm, GA)哪些步驟該丟給GPU

遺傳算法&#xff08;Genetic Algorithm, GA&#xff09;是一種啟發式搜索算法&#xff0c;受到生物進化的啟發。在遺傳算法中&#xff0c;種群中的每個個體代表問題的一個候選解&#xff0c;通過迭代選擇、交叉和變異操作&#xff0c;來模擬自然選擇和遺傳過程&#xff0c;從而…

九、OpenAI之圖片生成(Image generation)

學習用DALL.E的API怎樣生成和操作圖片 1 介紹 圖片API提供3個方法來和圖片進行交互&#xff1a; 從0開始基于文字提示創建圖片(DALL.E 3 and DALL.E2)基于一個新的提示詞&#xff0c;通過讓模型替換已有圖像的某些區域來創建圖像的編輯版本;&#xff08;DALL.E2&#xff09;…