Mac Catalyst 上的系统分组背景颜色对于浅色模式不正确

Rob*_*nga 5 uitableview systemcolors swift mac-catalyst

我正在尝试在 Catalyst 应用程序中重新创建与 iOS 上的设置应用程序相同的外观和感觉。

我得到了一个 SplitViewController,其中一个 TableViewController 设置为“分组为主”,一个 TableViewController 设置为“插入分组为详细信息”。

对于表视图,我将背景颜色设置为系统分组背景颜色,对于表视图单元格,我将背景颜色设置为辅助系统分组背景颜色。

除了 Mac 上的浅色模式外,所有设备(iOS / Mac)上的一切看起来都符合预期。看起来颜色颠倒了。表视图应具有浅灰色背景颜色,表视图单元格应具有白色背景颜色,但反之亦然。

这是 Mac 的默认行为还是有问题?

我在 GitHub 上创建了一个示例项目:
https ://github.com/robertveringa89/systemgroupedbackgroundcolor

Sun*_*kas 1

似乎是 macOS 上的错误或预期行为。我猜这是一个错误。但是您可以在 UIColor 扩展中使用正确的颜色轻松定义自己的颜色:

extension UIColor {
    static var systemGroupedBackground2: UIColor {
        UITraitCollection.current.userInterfaceStyle == .light ?
            UIColor(hex: "F2F2F7FF") :
            UIColor(hex: "000000FF")
    }

    static var secondarySystemGroupedBackground2: UIColor {
        UITraitCollection.current.userInterfaceStyle == .light ?
            UIColor(hex: "FFFFFFFF") :
            UIColor(hex: "1C1C1EFF")
    }
}
Run Code Online (Sandbox Code Playgroud)

  • 感谢您的解决方法,我会尝试获得提交错误报告的动力...... (2认同)
  • 如果启动视图/应用程序后更改暗模式,则此解决方案将不起作用。然后你需要监听深色模式的变化,并再次应用着色。 (2认同)