0

设置了三个枚举来实现: UIUserInterfaceStyleUnspecified-> 监听 iOS 设置模式的变化 UIUserInterfaceStyleLight-> 覆盖 LIGHT 模式而不考虑 iOS 设置模式 UIUserInterfaceStyleDark-> 覆盖 DARK 模式而不考虑 iOS 设置模式

当我设置时出现问题

(Parent_ViewController -> UIUserInterfaceStyleDark)

(Child_ViewController -> UIUserInterfaceStyleUnspecified)

然后,当我们将设置 iOS 模式从浅色切换到深色或反之亦然时,UI 没有变化,Child_ViewController并且UIUserInterfaceStyleUnspecified应该已经改变,但它始终具有深色主题颜色。

是否有任何解决方法或解决方案来解决此问题?

4

1 回答 1

1

欢迎!

ViewController 在覆盖界面样式时将停止将系统更改传播到子控制器。overrideUserInterfaceStyle这也意味着当设置为时,子 VC 将继承其父 VC 的界面样式.unspecified

如果您想实现该特定行为,恐怕您需要一些自定义实现。例如,通过将您始终希望变暗的部分设置为具体(非动态)颜色,而不是使用动态系统颜色。

于 2020-05-08T12:55:00.923 回答