当前位置:主页 > 网页前端 > JavaScript代码 >

微信小程序底部tabBar遮挡内容的简单处理方法

时间:2022-03-19 10:47:38 | 栏目:JavaScript代码 | 点击:

微信小程序配置tabBar之后会遮挡重要内容,而且不同机型如iPhoneX下面可能有一块空白如下图,比较坑的是页面最底部空白也会显示页面,因此需要获取被遮挡的高度

可以看出iPhoneX下面会多出一块空白也会增加tabBar的遮挡内容,可以通过wx.getSystemInfoSync()获取机型的各种信息。

其中screenHeight是屏幕高度,safeArea的bottom属性会自动计算安全区域也就是去除tabBar下面的空白区域后有用区域的纵坐标。

如此就可以简单计算出tabBar的高度:

const res = wx.getSystemInfoSync()
const { screenHeight, safeArea: { bottom } } = res
console.log('resHeight',res);
if (screenHeight && bottom){
  let safeBottom = screenHeight - bottom
  this.setData({
    height: 48 + safeBottom
  })
}

其中48是我们们自定义tab栏的高度,这样可以自定义一个组件设置高度撑起底部,再有tabBar的页面的最后引入
但是在使用webview的时候webview会充满整个页面导致下方填补空白失效,此时可以通过URL的query把遮挡的高度传给webview页面再给页面设置padding-bottom

附:tabBar的主要属性:


tabBar中每个item的属性如下:

总结

您可能感兴趣的文章:

相关文章