收藏
回答

navigationStyle设置custom后,自定义导航怎么适配?

问题模块 框架类型 问题类型 终端类型 微信版本 基础库版本
框架 小程序 需求 工具 6.7.2 1.9.9

需求只有一个页面需要设置navigationStyle为custom,但是小程序不支持单页面设置(什么时候才可以支持单页面设置)。

怎么自定义导航栏适配各类机型,还有更好的解决方案吗?

最后一次编辑于  2018-09-17  (未经腾讯允许,不得转载)
回答关注问题邀请回答
收藏

1 个回答

  • 仙森ღ₅₂₀¹³¹⁴
    仙森ღ₅₂₀¹³¹⁴
    2018-09-17

    wechatide://minicode/4rvEcumU7y2U

    2018-09-17
    赞同
    回复 7
    • Chen丶
      Chen丶
      2018-09-17

      用多wepy,忘记在开发工具可以展示源码,感谢!!!

      2018-09-17
      回复
    • 仙森ღ₅₂₀¹³¹⁴
      仙森ღ₅₂₀¹³¹⁴
      2018-09-17回复Chen丶

      可以写成组件。其他页面引用。。你看下有bug啥的没。可以随便改丰富下。我们后续也准备使用自定义导航栏。这个我已经写成自定义组件了。上午写代码片段 特意改成一个页面的。。。

      2018-09-17
      回复
    • 张天炜。
      张天炜。
      2018-09-20

      我试了一下,确实不错,不过对iphonex是专门适配的,如果有安卓刘海屏能够适配吗

      2018-09-20
      回复
    • 仙森ღ₅₂₀¹³¹⁴
      仙森ღ₅₂₀¹³¹⁴
      2018-09-20回复张天炜。

      安卓刘海屏的 还没有这个测试机。。没试。。。

      2018-09-20
      回复
    • 张天炜。
      张天炜。
      2018-09-21回复仙森ღ₅₂₀¹³¹⁴

      我改了一下,对比了你的demo和官方导航栏

      titleBarHeight在ipad和iphone是44px,在安卓是48px,不根据屏幕大小改变,这样高度就能和官方的保持一致了


      wx.getSystemInfo({
          success: function(res) {
              let titleBarHeight = 48
              if ((res.model.indexOf('iPhone') !== -1) || (res.model.indexOf('iPad') !== -1)) {
                  titleBarHeight = 44
              }
              var statusBarHeight = res.statusBarHeight
              wx.setStorageSync('statusBarHeight', res.statusBarHeight)
              wx.setStorageSync('titleBarHeight', titleBarHeight)
          },
      });

      手头没有测试机,也只是用官方模拟器试出来的

      2018-09-21
      回复
    查看更多(2)