【问题标题】:Custom Dark Mode iOS Issue自定义暗模式 iOS 问题
【发布时间】:2020-08-24 00:25:26
【问题描述】:

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

设置时出现问题

(Parent_ViewController -> UIUserInterfaceStyleDark)

(Child_ViewController -> UIUserInterfaceStyleUnspecified)

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

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

【问题讨论】:

    标签: ios objective-c swift ios-darkmode uiuserinterfacestyle


    【解决方案1】:

    欢迎!

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

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

    【讨论】:

    • 嗨弗兰克:谢谢你,我同意你所说的,但我正在寻找更像是我们希望允许用户在整个应用程序颜色或只是应用程序的某些部分之间切换,所以它更多像应用程序的两个主题。
    • 恐怕你不能依赖用户界面样式,而是必须实现自定义主题系统。
    猜你喜欢
    • 2021-09-18
    • 2020-07-29
    • 2020-02-04
    • 2020-04-25
    • 1970-01-01
    • 2020-04-22
    • 1970-01-01
    • 1970-01-01
    • 2022-01-10
    相关资源
    最近更新 更多