收藏
回答

自定义导航栏,如何解决在IOS中偶尔会缺少大概状态栏高度的问题?

const systemInfo = wx.getSystemInfoSync();

        console.log('systemInfo'systemInfo)

        this.globalData.StatusBar = systemInfo.statusBarHeight;

        let custom = wx.getMenuButtonBoundingClientRect(); //获取胶囊的信息,使用胶囊的top,height

        if (custom) {

            this.globalData.Custom = custom;

            // this.globalData.CustomBar = custom.height + (custom.top - systemInfo.statusBarHeight) * 2 + systemInfo.statusBarHeight;

            this.globalData.CustomBar = custom.bottom + custom.top - systemInfo.statusBarHeight;

        } else {

            this.globalData.CustomBar = e.statusBarHeight + 44;

        }




上面是app.js中onLaunch里的,但这样还是不行,偶尔还是会在IOS下出现问题。

最后一次编辑于  09-21
回答关注问题邀请回答
收藏

6 个回答

  • 社区技术运营专员-小柿子
    社区技术运营专员-小柿子
    09-23

    错误的返回看下或是获取的时候延迟处理下呢?

    09-23
    赞同
    回复 3
  • Yunior
    Yunior
    10-25

    貌似这个接口不太准确,建议使用官方组件的做法

    page{--height:44px;--right:190rpx;}
    .weui-navigation-bar .android{--height:48px;--right:222rpx}

    小程序顶部自定义导航组件实现原理及坑分享

    10-25
    赞同 1
    回复
  • 川川川
    川川川
    11-18

    这个问题如何解决的

    11-18
    赞同
    回复 1
    • 见相非相
      见相非相
      11-24
      每个页面的js里都判断一下customBar
      11-24
      回复
  • Remote
    Remote
    10-23

    老哥 这个问题解决了吗 我的小程序有时候也会出现这个问题

    10-23
    赞同
    回复 3
    • 见相非相
      见相非相
      10-26
      这声老哥听着舒服啊,再喊一声就告诉你
      10-26
      回复
    • Remote
      Remote
      10-28回复见相非相
      老哥你说 - -
      10-28
      回复
    • 见相非相
      见相非相
      11-24回复Remote
      已经私聊给你了啊,每个页面都判断一下CustomBar是否为空,为空就状态栏的高度+44
      11-24
      回复
  • 发飙的蜗牛
    发飙的蜗牛
    09-21
    iOS和安卓。经常出问题
    09-21
    赞同
    回复
  • weucn
    weucn
    09-21

    自定义导航栏一直出问题


    09-21
    赞同
    回复
问题标签