当 iPhone 的外观设置(设置 》显示与亮度 》外观)为“深色模式”下,使用下面 uni.setNavigationBarColor 无法改变状态栏为“白底黑字”
uni.setNavigationBarColor({
frontColor: '#000000',
backgroundColor: '#ffffff',
animation: {
duration: 400,
timingFunc: 'easeIn'
}
})
产品分类: uniapp/App
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: 10
HBuilderX类型: 正式
HBuilderX版本号: 3.3.13
手机系统: iOS
手机系统版本号: iOS 15
手机厂商: 苹果
手机机型: iPhone 12 Pro max
页面类型: vue
vue版本: vue2
打包方式: 云端
项目创建方式: HBuilderX
当 iPhone 的外观设置(设置 》显示与亮度 》外观)为“深色模式”下,使用下面 uni.setNavigationBarColor 无法改变状态栏为“白底黑字”
uni.setNavigationBarColor({
frontColor: '#000000',
backgroundColor: '#ffffff',
animation: {
duration: 400,
timingFunc: 'easeIn'
}
})
使用下面代码将状态栏改成“白底黑字”(注意前提一定要把 iPhone 的外观设置为“深色模式”下)
uni.setNavigationBarColor({
frontColor: '#000000',
backgroundColor: '#ffffff',
animation: {
duration: 400,
timingFunc: 'easeIn'
}
})
下面代码无效(注意前提一定要把 iPhone 的外观设置为“深色模式”下)
uni.setNavigationBarColor({
frontColor: '#000000',
backgroundColor: '#ffffff',
animation: {
duration: 400,
timingFunc: 'easeIn'
}
})
这个需求主要用在“不跟随系统改变主题模式”,而实现中出现非常奇怪的情况:
。当iPhone的外观设置(设置 》显示与亮度 》外观)为“深色模式”下,一些页面想用 uni.setNavigationBarColor 改成“白底黑字”就不起作用
当iPhone的外观设置(设置 》显示与亮度 》外观)为“深色模式”下,下面这段代码死活没效:
uni.setNavigationBarColor({
frontColor: '#000000',
backgroundColor: '#ffffff',
animation: {
duration: 400,
timingFunc: 'easeIn'
}
})
即使放在“onReady”还是“onShow 加延迟执行”都没效果
。而反过来,当iPhone的外观设置(设置 》显示与亮度 》外观)为“浅色模式”下,一些页面想用 uni.setNavigationBarColor 改成“黑底白字”就又可以正常改变
1 个回复
FullStack - 【插件开发】【专治疑难杂症】【ios上架、马甲包、白包、过审、已成功上架过几百个】【多款插件已上架:https://ext.dcloud.net.cn/publisher?id=22130】【非诚勿扰】QQ:543610866
提供可复现demo,方便排查