【问题标题】:Convert Mojave Accent colour to RGBA将 Mojave 重音颜色转换为 RGBA
【发布时间】:2019-06-10 16:51:48
【问题描述】:

在以 10.14 作为 macOS 部署目标的项目中,尝试以下代码:

    let colour = NSColor.controlAccentColor
    var red: CGFloat = 0, green: CGFloat = 0, blue: CGFloat = 0, alpha: CGFloat = 0
    colour.getRed(&red, green: &green, blue: &blue, alpha: &alpha)
    print("RGBA = (\(red), \(green), \(blue), \(alpha))")

getRed 的调用冻结,print 永远无法控制。

【问题讨论】:

    标签: macos-mojave nscolor


    【解决方案1】:

    需要转换为RGB色彩空间:

    let colour = NSColor.controlAccentColor
    var red: CGFloat = 0, green: CGFloat = 0, blue: CGFloat = 0, alpha: CGFloat = 0
    colour.usingColorSpace(.sRGB)!.getRed(&red, green: &green, blue: &blue, alpha: &alpha)
    print("RGBA = (\(red), \(green), \(blue), \(alpha))")  // Works OK
    

    【讨论】:

      猜你喜欢
      • 2011-01-04
      • 2012-07-07
      • 2015-05-19
      • 2021-01-27
      • 2021-11-20
      • 1970-01-01
      • 2011-09-23
      • 2014-05-20
      相关资源
      最近更新 更多