9***@qq.com
9***@qq.com
  • 发布:2019-03-04 16:05
  • 更新:2022-12-27 10:45
  • 阅读:6767

【报Bug】uni-app 自定义导航条被web-view页面覆盖了

分类:uni-app

详细问题描述
自定义导航条页面如果使用 <web-view></web-view>就会被覆盖掉,在浏览器开发预览效果正常,但是一到变成app在手机上就直接被webview页面覆盖,看不到自定义导航条,android跟ios都是这样。

2019-03-04 16:05 负责人:无 分享
已邀请:
1***@qq.com

1***@qq.com

请问您解决了吗,我现在遇到了同样的问题,想咨询一下

  • 3***@qq.com

    自己写一个原生的,在pages.json里写

    2019-04-26 11:34

  • 3***@qq.com

    {  
    "path": "pages/checkout/checkout",
    "style": {
    "app-plus": {
    "navigationBarTitleText": "确认订单",
    "titleNView": {
    "autoBackButton": false,
    "buttons": [{
    "float": "left",
    "type": "back"
    }]
    }
    }
    }
    },

    2019-04-26 11:34

  • 1***@qq.com

    回复 3***@qq.com: 好的 我试一下 ,谢谢啦

    2019-04-29 09:36

  • 1***@qq.com

    确实好用,已经解决问题,十分感谢~

    2019-04-29 10:56

  • b***@sina.com

    回复 3***@qq.com: 我的是uni-app为什么不行呢

    2019-09-29 17:22

DCloud_heavensoft

DCloud_heavensoft

这很正常,web-view是独立窗体,层级高。
比较简单的是点菜单时弹出actionsheet。
app上也可以用plus.nativeObj.view实现,参考http://ext.dcloud.net.cn/plugin?id=69
也可以通过web-view交互,给web-view注入一段js,让它自己弹内容出来,设z-index,参考https://ask.dcloud.net.cn/article/35036

  • 1***@qq.com

    我目前做的是公众号版的,我尝试用了plus.webVie,获取当前窗口对象,然后再设置按钮关闭当前窗口对象,发现返回的是我引入webView的页面,这个怎么搞

    2019-04-25 16:41

  • DCloud_heavensoft

    回复 1***@qq.com: h5版?h5直接用z-index就能搞定层级问题啊

    2019-04-25 17:00

  • 1***@qq.com

    回复 DCloud_heavensoft: 目前这样没问题,考虑以后可能要做成公众号和app,再想办法吧

    2019-04-25 17:22

  • jiang2266028

    回复 DCloud_heavensoft: 您好,有示例么,web-view 加个自定义导航栏,下面是我在网上找的,但是不行

    // #ifdef APP-PLUS

    var that = this;

    that.statusBarHeight = uni.getSystemInfoSync().statusBarHeight;

    var link = '/hybrid/html/index.html';

    var w = plus.webview.create(link, 'id', {

    top: uni.getSystemInfoSync().statusBarHeight + 44 ,//放置在titleNView下方。如果还想在webview上方加个地址栏的什么的,可以继续降低TOP值

    //因为设置top之后 webview的高度依然不变会往下移 底部会被遮住 所以设置一下高度

    height: uni.getSystemInfoSync().windowHeight - 44 - uni.getSystemInfoSync().statusBarHeight,

    }, {

    preload: 'preload webview'

    }); // 可直接通过以下方法获取preload值

    var currentWebview = this.$mp.page.$getAppWebview() //获取当前页面的webview对象

    currentWebview.append(w); //一定要append到当前的页面里!!!才能跟随当前页面一起做动画,一起关闭

    // #endif

    2020-11-11 17:18

2***@qq.com

2***@qq.com - 很个性的签名~~~

插个眼, 有比较好的解决方案,踢我一脚

要回复问题请先登录注册