Я создаю услугу Apple Watch с помощью датчика. Я хочу, чтобы цвет индикатора соответствовал одному из системных осложнений (усложнение встроенного аккумулятора).
Я сделал снимок экрана на своих Apple Watch, перенес его на свой Ma c и использовал встроенное приложение macOS Digital Color Meter с раскрывающимся списком, установленным на Отображение собственных значений . В зависимости от того, где я находил снимок экрана с PNG, я получил значение от 100, 216, 124
до 101, 217, 124
. Это удивило меня, потому что я ожидал, что весь датчик будет иметь те же значения, поскольку усложнение принимает только один UIColor в качестве tintColor
. Они были одинаковыми, независимо от того, были ли включены или выключены True Tone и Night Shift на моей Ma c.
. Я использовал, например, один набор значений, которые я получил, чтобы создать UIColor для сложности tintColor
вот так:
let complicationGreenColor = UIColor(red: 100/255,
green: 217/255,
blue: 124/255,
alpha: 1)
Когда я использовал этот набор значений, а затем запустил усложнение на своих Apple Watch, я вижу, что цвета немного отличаются от сложности системы. Это трудно понять, но цвета разные. И, когда я делаю снимок экрана с моей сложностью, переношу его в свой Ma c и проверим его с помощью цифрового колориметра, я получу совершенно другие значения RGB, чем те, которые я использовал при создании UIColor, и они не совпадают системная сложность, которая на том же скриншоте. В этом примере я получил 131, 212, 133
, который отличался от ожидаемого 100, 217, 124
.
Я также попытался использовать цифровой цветовой измеритель в системе усложнение батареи в watchOS Simulator и получил 101, 217, 125
.
Один из этих наборов может быть «правильными» значениями, но с очень многими различными возможностями, как я могу надежно определить правильные значения RGB, которые будут использоваться для соответствия цвету сложности системы?