swift - Mac Catalyst 上的系统分组背景颜色对于 Light Mode 不正确

标签 swift uitableview mac-catalyst systemcolors

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

我得到了一个 SplitViewController,其中一个 TableViewController 设置为 Grouped as Master,一个 TableViewController 设置为 Inset Grouped as Detail。

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

除了 Mac 上的灯光模式外,所有设备(iOS/Mac)上的一切看起来都符合预期。看起来颜色是颠倒的。 Table View 应该有浅灰色背景色,Table View Cell 应该有白色背景色,但反过来。

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

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

最佳答案

似乎是 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")
    }
}

关于swift - Mac Catalyst 上的系统分组背景颜色对于 Light Mode 不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60636282/

相关文章:

xcode - 追加数组时要字符串的任何对象

ios - 在 Swift 中将图像从 tableView 传递到 viewController

ios - 行删除后,UITableviewcell中的UITextfield返回的标签错误

swift - Mac 催化剂 : tableView allowmultipleselection not working

ios - 如何使用 Mac Catalyst 将 iPad 应用程序移植到 Mac 上设置 "Help"菜单选项?

swift - Mac 上的 DatePicker 不保存日期,直到按下返回键

ios - 根据页面 Controller 当前索引将 ScrollView 移动到下一页

swift - 如何在核心数据中存储快速枚举?

ios - 点击手势在 collectionView 单元格中不起作用,任何 UI 元素在由 Storyboard 添加的单元格上都不可见

ios - 在 UITableView 搜索点击上显示新 Controller