1、首先可以在全局配置 所有的页面 navigationStyle: custom ,此时所有的页面都不会显示navBar ;也可以 给指定的页面使用自定义导航栏;
2、给自定义导航栏添加自适应高度
<template> <view class="navBar" :style="{height: navBarHeight+ 'px'}"> <!-- #ifdef H5 --> <view class="left-btn" @click="$router.go(-1)"> < </view> <!-- #endif --> <!-- #ifdef MP-WEIXIN --> <view class="left-btn" @tap="back()"> <image class="icon" src="../static/img/left_arrow.png" mode=""></image> </view> <!-- #endif --> <view class="title"> {{title}} </view> <view class="right-btn"> <slot name="rightBtn"></slot> </view> </view> </template> <script> export default { name:"navBar", props:{ title:{ type:String, default:"title" } }, data() { return { navBarHeight:40 }; }, mounted(){ // #ifdef MP-WEIXIN
let btnInfo = wx.getMenuButtonBoundingClientRect() this.navBarHeight = (2 * btnInfo.top)+ btnInfo.height; // #endif }, methods:{ back(){ uni.navigateBack({ delta:1 }) } } } </script> <style scoped> .icon { width: 20px; height: 20px; } .navBar { display: flex; padding: .1rem .2rem; align-items: center; justify-content: space-between; color: #fff; background: #007AFF; } </style>
这里的 wx.getMenuButtonBoundingClientRect() 可以获取小程序胶囊位置的详细信息,根据胶囊的位置来设置 navBar 的高度
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」