navigationBar
1.官方提供的navigationBar
微信官方提供了基本的navigationBar模板供开发者使用,包含①定制标题文字,②非顶层页面提供返回按钮,③自动适配胶囊高度。
但某些更高阶的功能无法实现如:背景图片、越级返回、非顶层页面隐藏返回按钮,此时需要自定义navigatear来实现。
2.适配全机型的高度
博客链接 --> 微信小程序自定义导航栏,胶囊菜单按钮高度完美适配
在自定义小程序导航栏时,右上角的胶囊(MenuButton)在不同机型测试,会发现很难适配。 然而状态栏高度、胶囊高度、导航栏高度,微信开发者工具有对应的api可以计算出其在不同机型的高度,从而达到自定义环境下的统一适配。
(1)让自定义navigtionBar的高度在任何机型下都统一高度的统一计算公式👇
总体高度 = 导航栏高度 + 状态栏高度
导航栏高度 = (胶囊上边界坐标-状态栏高度)x2+胶囊高度
状态栏高度 = wx.getWindowInfo().statusBarHeight
胶囊上边界坐标 = wx.getMenuButtonBoundingClientRect().top
胶囊高度 = wx.getMenuButtonBoundingClientRect().height
最终效果👇