Tencent / QMUI_iOS

QMUI iOS——致力于提高项目 UI 开发效率的解决方案
http://qmuiteam.com/ios
Other
7.05k stars 1.37k forks source link

UINavigationBar Dark Mode 使用疑问 #1428

Closed fanyuecheng closed 1 year ago

fanyuecheng commented 1 year ago

app情况: 1 仅适配iOS13+ 2 使用系统方法 并没使用QMUITheme 3 使用配置表并设置了QMUICMI.navBarBackgroundImage = 动态图片

当iOS15下,因为使用了UINavigationBarAppearance,所以切换UserInterfaceStyle并没有问题。 当<iOS15,导航栏背景图不会自动响应darkmode。 这种情况该怎么做呢?QMUIConfiguration里凡是用到UINavigationBarAppearance都做了系统判断,难道要把相关的if (@available(iOS 15.0, *))都改为if (@available(iOS 13.0, *))吗?这么做会有问题吗?

MoLice commented 1 year ago

请提供 demo

fanyuecheng commented 1 year ago

使用iOS15以下的模拟器或者真机 Demo.zip

MoLice commented 1 year ago

系统的动态 image 如果要在 UINavigationBar backgroundImage 上自动跟随 Light/Dark 切换,要求必须使用 UINavigationBarAppearance。

而 QMUI 只在 iOS 15+ 才使用 UINavigationBarAppearance,所以如果你在 iOS 14 及以下的系统里将系统的动态 image 用于 UINavigationBar,就会失效。

这个暂时没办法处理,对 QMUI 来说改动太大,也会影响其他使用 QMUI 的项目。只能由业务项目自己处理 backgroundImage 了,无法用配置表。