likes
comments
collection
share

小程序底部tabBar遮挡内容处理

作者站长头像
站长
· 阅读数 22

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

小程序底部tabBar遮挡内容处理

小程序底部tabBar遮挡内容处理

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

小程序底部tabBar遮挡内容处理 其中screenHeight是屏幕高度,safeAreabottom属性会自动计算安全区域也就是去除tabBar下面的空白区域后有用区域的纵坐标。

小程序底部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

转载自:https://juejin.cn/post/6992455326549147678
评论
请登录