首页 > 其他分享 >uniapp + h5开发app自定义导航栏高度适配问题

uniapp + h5开发app自定义导航栏高度适配问题

时间:2022-10-21 15:23:13浏览次数:83  
标签:uniapp 自定义 适配 高度 height h5 导航 页面

创建uniapp项目后通过web-view将h5页面嵌入到app中,此刻的uniapp项目相当于一个壳子,所有内容都在h5页面中,通过手机模拟器看到的页面如下:

uniapp有自带的头部,h5页面自定义了头部,考虑到页面结构,将原生的导航去掉

在pages.json中写入以下代码,因取消掉全部的原生导航,所以代码写到globalStyle中:

"app-plus":{
    "titleNView":false
}

取消掉的原生导航如图所示,自定义导航占据了设备高度(电量,时间...显示的位置)

 

 参考了大部分代码,腾出设备高度的代码基本上是在代码中加入如下代码:

<view class="status_bar" style="height: var(--status-bar-height); ">
</view>
// height: var(--status-bar-height); 自动匹配各个手机端的高度

但入口h5页面的文件中有web-view,对他设置高度边距不起作用,在这篇文章中提到可以通过方法解决高度的问题

 

 

var height = 0; //定义动态的高度变量,如高度为定值,可以直接写
            uni.getSystemInfo({
                //成功获取的回调函数,返回值为系统信息
                success: (sysinfo) => {
                    height = sysinfo.windowHeight - 40; //自行修改,自己需要的高度 此处如底部有其他内容,可以直接---(-50)这种,如果不减,页面会下沉,看不到底部导航栏
                },
                complete: () => {}
            });
            var currentWebview = this.$scope.$getAppWebview(); //获取当前web-view
            setTimeout(function() {
                var wv = currentWebview.children()[0];
                wv.setStyle({ //设置web-view距离顶部的距离以及自己的高度,单位为px
                    top:40 , //此处是距离顶部的高度,应该是你页面的头部
                    height:  height , //webview的高度
                    scalable: false, //webview的页面是否可以缩放,双指放大缩小,
                })
            }, 500); //如页面初始化调用需要写延迟

查看页面效果

 参考博客:

https://blog.csdn.net/qq_31676483/article/details/116300240

标签:uniapp,自定义,适配,高度,height,h5,导航,页面
From: https://www.cnblogs.com/wq805/p/16813592.html

相关文章

  • uniapp强制用户更新小程序
    直接上代码,代码也是在博客上找的,未标明出处,如原作者看到,可联系删除或注明来源在app.vue文件中,运行小程序时调用强制更新代码,检查小程序是否更新onLaunch:function(){......
  • Vue3 SFC 和 TSX 方式自定义组件实现 v-model
    1v-model1.1理解v-modelv-model是vue3中的一个内置指令,很多表单元素都可以使用这个属性,如input、checkbox等,咱可以在自定义组件中实现v-model。v-model本质上......
  • 注解-自定义注解的格式和本质
    自定义注解的格式和本质先进入注解看一下注解是如何定义的 上面这两个注解先不管他先看一下是如何写这种注解的格式很简单:public@interface注解名{}public@i......
  • Django自定义URL转换器
    http://127.0.0.1:8000/usernames/zhangsan/count/以上URL请求传递参数username,此username需进行校验,不满足条件,不需要进入视图进行验证,减少数据库调用。可自定义转换......
  • Spring AOP与自定义注解Annotation的使用 实践 @Around("@annotation(operationLog)")
    SpringAOP与自定义注解Annotation的使用AOP,Spring框架的两大核心之一,又称面向切面编程,通过代理模式,对原有的类进行增强。在Spring框架中,AOP有两种动态代理方式,其一是基......
  • uniapp 微信小程序分享到朋友、分享到朋友圈
    //分享到朋友圈onShareTimeline(){return{title:'鸣火',path:"pages/tabbar......
  • Tutorial 8_适配器模式
    双向适配器实现一个双向适配器,使得猫可以学狗叫,狗可以学猫抓老鼠。  代码  ICat.javapackageshipeiqi;publicinterfaceICat{publicvoideat()......
  • uniapp 关于全局提示组件 感悟
    web端可能可以,但是小程序就算了,小程序的话有一个插件能但是也繁琐,所以我的想法是这样的:参考:参考博客 自解决:跳转的时候携带code,判断code是什么然后显示啥,,,, ......
  • 打印自定义行和列的字符
     #include<stdio.h>#pragmawarning(disable :4996)voiddisplay(charcr,intlines,intwidth);intmain() {  intch;  introw,col;  while((c......
  • JMeter 扩展开发:自定义 Java Sampler
    JMeter内置支持了一系列的常用协议,例如HTTP/HTTPS、FTP、JDBC、JMS、SOAP和TCP等,可以直接通过编写脚本来支持相关协议的测试场景。除了这些协议之外,用户也可能需要进行......