收藏
回答

wx.getSystemInfoSync获取设备信息不准确

问题模块 API/组件名称 终端类型 微信版本 基础库版本
API和组件 wx.getSystemInfoSync 客户端 6.6.1 1.7.4

问题描述:在有tabBar的页面里,wx.getSystemInfoSync获取的windowHeight高度不正确,在onLoad,onShow,onReady里都试过,都不准确,好像是把tabBar的高度也算到了windowHeight里面,值大了,在onReady里使用setTimeout延迟了600后获取高度正常

测试机型:红米note4x

回答关注问题邀请回答
收藏

14 个回答

  • 慧慧
    慧慧
    2018-01-11

    刚试了下给page设置宽高100%,然后给里面的某个子元素设置宽高100%,获取到该元素的高度,这个尺寸也是正确的

    2018-01-11
    赞同
    回复
  • 慧慧
    慧慧
    2018-01-11

    搜嘎,延迟之后确实正常了

    2018-01-11
    赞同
    回复
  • 初见
    初见
    2018-01-11

    onReady里使用setTimeout延迟了600后获取高度正常,目前就是这么做的

    2018-01-11
    赞同
    回复
  • 慧慧
    慧慧
    2018-01-11

    楼主最后怎么解决的??

    2018-01-11
    赞同
    回复
  • 仙森ღ₅₂₀¹³¹⁴
    仙森ღ₅₂₀¹³¹⁴
    2018-01-11

    emmmm

    2018-01-11
    赞同
    回复
  • 初见
    初见
    2018-01-11

    我试了下,是可以获取到,但是有时候是正确的,有时候又不正确,多谢

    2018-01-11
    赞同
    回复
  • 仙森ღ₅₂₀¹³¹⁴
    仙森ღ₅₂₀¹³¹⁴
    2018-01-10

    这是官方的说法

    2018-01-10
    赞同
    回复
  • 仙森ღ₅₂₀¹³¹⁴
    仙森ღ₅₂₀¹³¹⁴
    2018-01-10

    目前 getSystemInfo 在一些条件下的返回值有些问题。麻烦试下 wx.createSelectorQuery 的 selectViewport 方法获取显示区域的尺寸

    2018-01-10
    赞同
    回复
  • 仙森ღ₅₂₀¹³¹⁴
    仙森ღ₅₂₀¹³¹⁴
    2018-01-10

    官方说了 是已知bug,然后说了 另外个解决办法,我找下发你

    2018-01-10
    赞同
    回复
  • 小杰
    小杰
    2018-01-10

    那你可以在其他钩子函数里面获取试试看 比如页面渲染完毕之后

    2018-01-10
    赞同
    回复

正在加载...

登录 后发表内容