详细问题描述
uniapp使用plus.navigator.setStatusBarStyle("light")设置状态栏light/dark不生效,设置前后plus.navigator.getStatusBarStyle()打印都是一样的,没有修改。而且有的时候明明plus.navigator.getStatusBarStyle()返回dark,实际上确实light。
实际效果是颜色往往会切来切去,比如首页设置light,第一次进入首页的时候状态栏是白色字体,点击tab切换到新的页面再返回首页又变成黑色,从首页进入一个二级页面变成黑色,返回首页又变成白色。
使用全局配置,设置后虽然plus.navigator.getStatusBarStyle()返回的结果是生效了,但实际状态栏文字并没有改变
"statusbar": {
"style": "light"
},
看到不少人反馈这个问题,希望官方能否确认下这个到底是不是bug,如果确认无法解决,也不要让开发者在这个问题上浪费时间了。。。
[内容]
onShow() {
console.log('index on show')
console.log('before set')
console.log(plus.navigator.getStatusBarStyle()) #打印dark
plus.navigator.setStatusBarStyle("light");
console.log('after set')
console.log(plus.navigator.getStatusBarStyle()) #打印dark
},
uni-app运行环境说明
[运行端是h5或app或某个小程序?]
app 端
[运行端版本号]
编译器版本:2.0.0
[项目是cli创建的还是HBuilderX创建的?如果是cli创建的,请更新到最新版cli再试]
[编译模式是老模板模式还是新的自定义组件模式?]
自定义组件
App运行环境说明
[Android版本号]
9.0
[iOS版本号]
[手机型号]
[模拟器型号]
附件
[IDE问题请提供HBuilderX运行日志。菜单帮助-查看运行日志,点右键打开文件所在目录,将log文件压缩成zip包上传]
[App问题请提供可重现问题的代码片段,你补充的细一点,问题就解决的快一点]
[App安装包或H5地址]
[可重现代码片段]
联系方式
[QQ]
5 个回复
z***@163.com
试试这个写法,我这边onshow的时候调用下面这个是好用的
this.$nextTick(() => {
plus.navigator.getStatusBarStyle()
});
你猜猜我是谁
我也遇到了,楼主解决了吗?
你猜猜我是谁
解决了,地址
https://ask.dcloud.net.cn/question/3679
吐槽下dcloud,是不是框架开发者们认为用dcloud的人都应该会原生开发?遇到好几个问题都是简单的配置问题,dcloud不愿意解答,但是我们都是原生小白啊,完全找不到解决办法啊,说句难听的,如果懂点原生开发,还用得着这个框架吗?
[已删除]
今天也遇到了,一直修改不了,我还以为就我是这样的....
k***@189.cn
呵呵,我也是这样,决定放弃了