macOS Hight Sierra / Mojave: программно получить значение "Системные настройки -> Специальные возможности -> Дисплей -> Увеличить контраст"
Как программно получить значение параметра Повышение контрастности в macOS Hight Sierra? Также интересно узнать, как наблюдать это изменение значения.
Полный путь к системным настройкам: Системные настройки -> Специальные возможности -> Дисплей -> Увеличить контраст.
На MacOS Mojave это может быть достигнуто через effectiveAppearance.bestMatch
Вызов API, как показано ниже.
open override func layout() {
super.layout()
if #available(OSX 10.14, *) {
if let value = effectiveAppearance.bestMatch(from: [.aqua, .darkAqua, .accessibilityHighContrastAqua, .accessibilityHighContrastDarkAqua]) {
switch value {
case .aqua:
setupAppearance(.light)
case .darkAqua:
setupAppearance(.dark)
case .accessibilityHighContrastAqua:
setupAppearance(.highContrastLight)
case .accessibilityHighContrastDarkAqua:
setupAppearance(.highContrastDark)
default:
break
}
}
}
}
1 ответ
Начиная с MacOS 10.10 вы можете использовать этот API NSWorkspace.