underfined
underfined
  • 发布:2020-09-08 11:04
  • 更新:2020-09-08 12:27
  • 阅读:642

状态栏穿透问题

分类:uni-app

目前的项目需要做一个 tab 切换效果 ,暂时使用的方法是使用swiper来实现 类似这样

<swiper :indicator-dots="false" :autoplay="false" :interval="0" :duration="300" class="swiper-box" :style="{height:view_height}">  
            <swiper-item >  
                <index></index>  
            </swiper-item>  
            <swiper-item class="bg-cyan">  

            </swiper-item>  
        </swiper>

第一个页面是其中的 index 组件,但是在index页面去进行滑动的时候会发现一个问题,就是滑动到下方的时候, index 组件会出现状态栏穿透问题,如图所示

尝试设定

"navigationBarBackgroundColor":"#000000",

属性无效,
在页面之中尝试

plus.navigator.setStatusBarStyle('black');

还是无效,

感觉这个问题是因为首页 使用swiper导致的高度问题. 目前的高度问题是在index 组件页面使用

const query = uni.createSelectorQuery().in(this);  
            query.select('.main').boundingClientRect(data => {  
                    console.log(data)  
                this.view_h = data.height  
                // this.$emit("",this.list);  
                uni.$emit('h',{msg:data})  
            }).exec();

获取页面内容高度,在主页面进行接收,然后赋值给给主页面 swiper-item 高度.但是这种方法感觉不是很完美,但是不设定的主页的swiper会默认设置高度150px,

请问下大家针对这种swiper 渲染不同的组件页面有没有其他的办法. 还有就是关于状态栏的穿透问题有没有好的解决方案

2020-09-08 11:04 负责人:无 分享
已邀请:
林达斯

林达斯 - 林达斯

自定义一个状态栏,类似https://uniapp.dcloud.net.cn/collocation/pages?id=customnav

该问题目前已经被锁定, 无法添加新回复