Конвертировать Mojave Accent color в RGBA - PullRequest
0 голосов
/ 08 июня 2019

В проекте с 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 никогда не получает контроль.

1 Ответ

0 голосов
/ 08 июня 2019

Требуется преобразование в цветовое пространство 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
...