详细问题描述
在APP中调用 uni.setTabBarStyle 改变标签栏样式中的选中字体颜色会出现延迟效果,另外在全面屏的iPhone中背景色不会覆盖到标签栏下面不可点击的区域
[内容]
我们的项目中设计稿里首页和其他tabbar页的背景色不同,首页为暗色调,其他页为浅色调,我就在 pages.json 配置中配置了其他页的浅色配置,然后打算在首页的声明周期中动态改变标签栏的样式,但是出现了兼容性问题
重现步骤
[步骤]
- 首页在生命周期中 onShow 中调用 uni.setTabBarStyle 方法改变背景颜色与文字颜色
- 首页在生命周期中 onHide 中调用 uni.setTabBarStyle 方法还原背景颜色与文字颜色
- 切换到不同的标签页
- 切回首页
[结果]
[期望]
IDE运行环境说明
[HBuilder 或 HBuilderX。如果你用其他工具开发uni-app,也需要在此说明]
[IDE版本号]
2.1.3.20190723
[windows版本号]
Windows 10 专业版 1809 17763.737
[mac版本号]
无
uni-app运行环境说明
[运行端是h5或app或某个小程序?]
APP IOS
[运行端版本号]
2.1.3.20190723
[项目是cli创建的还是HBuilderX创建的?如果是cli创建的,请更新到最新版cli再试]
HBuilderX创建
[编译模式是老模板模式还是新的自定义组件模式?]
自定义组件模式
App运行环境说明
[Android版本号]
无
[iOS版本号]
12.4
[手机型号]
iphone x
附件
[IDE问题请提供HBuilderX运行日志。菜单帮助-查看运行日志,点右键打开文件所在目录,将log文件压缩成zip包上传]
[App问题请提供可重现问题的代码片段,你补充的细一点,问题就解决的快一点]
[App安装包或H5地址]
[可重现代码片段]
onShow () {
uni.setTabBarStyle({
color: '#FF0000',
selectedColor: '#00FF00',
backgroundColor: '#0000FF',
borderStyle: 'white'
})
},
onHide () {
uni.setTabBarStyle({
color: '#666666',
selectedColor: '#2938b5',
borderStyle: 'white',
backgroundColor: '#ffffff',
})
}
联系方式
[QQ]
541362072
7 个回复
佳洁士
在iPhonex 11 12 这种有下巴的手机上面设置不了uni.setTabBarStyle({backgroundColor: "#000"}) 设置了没改变
x***@126.com (作者)
pages.json 文件中的 tabBar 配置
x***@126.com (作者)
请问有人吗?
x***@126.com (作者)
能否确认一下BUG?┓(;´_`)┏
唉呀妈呀 - 开朗
你好,请问你解决了吗
x***@126.com (作者)
没有,我写成同一个色了
2019-12-10 17:07
DCloud_iOS_XHY
你好,请提供一个完整的测试工程,方便测试
佳洁士
这个不需要代码 你默认给tabbar白色背景 然后在用方法 uni.setTabBarStyle({backgroundColor: "#000"}) 设置下就会复现 iPhonex 11 12 有下巴的手机都会出现
2020-11-09 10:33
佳洁士
不好意思 这个帖子有解决方法 谢谢 https://ask.dcloud.net.cn/article/35564