QMUI_iOS
QMUI_iOS copied to clipboard
系统夜间模式下,QMUIDemo主题不开启跟随系统并设置为日间模式,此时底部tabbar出现异常
Bug 表现 系统夜间模式下,QMUIDemo主题不开启跟随系统并设置为日间模式,此时底部tabbar还是夜间模式的样式
截图

Demo 全局搜索「QMUI_iOS/issues/1301」,查看改动的地方 _QMUIDemo_iOS.zip
如何重现
- 设置系统为夜间模式
- QMUIDemo不开启跟随系统
QMUIThemeManagerCenter.defaultThemeManager.respondsSystemStyleAutomatically = NO; - QMUIDemo设置为日间模式
- 重启QMUIDemo
预期的表现 系统夜间模式下,QMUIDemo主题不开启跟随系统并设置为日间模式,tabbar也应为日间模式的样式
其他信息
- 设备: iPhone/iPad
- iOS 版本: iOS 13 及以上
- Xcode 版本: Xcode 12.5.1
- QMUI 版本: 4.3.0
如上图所示,setTabBarStyle判断了前后值是否相等,首次设置时,_tabBarStyle与将要设置的tabBarStyle都是UIBarStyleDefault,对应的样式是`UIBlurEffectStyleSystemChromeMaterialLight`,但是此时系统是`UIBlurEffectStyleSystemChromeMaterial`,所以就产生了以上的问题
same issue,good boy 😁
在目前 QMUI 只提供 barStyle 配置项的情况下,这个问题无法解决。因为在 iOS 13 及以后,系统的 barStyle 已经无法精准控制 UINavigationBar/UITabBar/UIToolbar 的磨砂样式,直接原因是 QMUI 配置表没有与最新系统对齐导致的。后续会再增加精准的 backgroundEffect 配置项,4.4.0 里原本有尝试加上,但牵扯到的改动太大,测试时间不足,所以安排到 4.4.0 之后再处理。
在此之前只能由业务项目自行在 iOS 13 时设置 backgroundEffect。