2

我的问题也被描述在这里 UIColor return wrong values for dark mode colors by Lee Andrew

基本上没有正确选择按钮的边框颜色。在我的情况下,情况是:

  1. 在白色模式下打开 VC1。
  2. 将 VC2 推入白色模式。
  3. 在 VC2 中切换到暗模式。
  4. UI 已正确更新。
  5. 通过导航回到 VC1

按钮的边框没有正确更新。它使用白色模式的颜色,但是文本正确地改变了颜色。

上面列出的有关 layer.background 的解决方案没有帮助...如果有帮助,请使用非 beta xcode 版本 11.0 (11A420a)。真的可以在这里使用帮助......我没有选择。为按钮调用 setNeedsDisplay 也无济于事。

更新。把事情搞定了。直接调用按钮不起作用。但是,在我用带有边框颜色的按钮(单元格、页脚、页眉等)覆盖所有内容的 traitCollectionDidChange 方法之后 - 事情开始正常工作。

4

1 回答 1

0

要解决您的问题:

    override func traitCollectionDidChange(_ previousTraitCollection: UITraitCollection?) {
        super.traitCollectionDidChange(previousTraitCollection)
        // Your custom borderColor
        layer.borderColor = .white
    }

注意:如果您使用的是 tableview/collectionview,则必须在对象和边框“init”中设置颜色,否则只有可见单元格会更新边框颜色。

于 2019-11-29T16:15:30.800 回答