wx.getSystemInfo获取windowHeight部分手机偶尔不准确问题

wx.getSystemInfo获取windowHeight部分手机偶尔不准确?

最近在接手公司小程序的开发,遇到一个很奇怪的问题,就是我们小程序中的某个页面底部的一个按钮在某些情况不显示的问题;同一个手机,同一个页面获取的windowHeight偶尔会有一次不一致的情况;如下图所示:

  • 正常显示截图
    正常显示
  • 异常显示截图
    异常显示

在部分华为手机上就出现底部按钮不显示,该按钮的位置计算是根据小程序wx.getSystemInfo返回的windowHeight高度进行计算的,为了调查这个问题,我把此高度显示在屏幕中显示,用于查看为什么不显示的问题,正常显示和异常显示的高度如下所以:
在这里插入图片描述
在这里插入图片描述

可以看到每次进入该页面时获得的高度是不一样的,其中高度的获取我们是放在app.js中的onLaunch方法中进行获取,后面各个页面调用该值进行计算,这也就是为什么有时候按钮显示,有时候按钮又不显示。

修改方法:
在对应的页面中的onLoad方法中重新获取该高度,问题解决。

    wx.getSystemInfo({
      success(res) {
        console.log(res.windowWidth)
        console.log(res.windowHeight)
        app.globalData.windowWidth = res.windowWidth;
        app.globalData.windowHeight = res.windowHeight;
        that.setData({
          pageW: app.globalData.windowWidth,
          pageH: app.globalData.windowHeight,
          raceColor: app.globalData.selectedRaceInfo.raceColor,
        })
      }
    })
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值