0

如何以编程方式获取macOS Hight Sierra 上增加对比度设置的值?知道如何观察该值变化也很有趣。

系统偏好设置的完整路径是System Preferences -> Accessibility -> Display -> increase contrast

在此处输入图像描述

在 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
        }

     }
  }
}
4

1 回答 1

1

从 macOS 10.10 开始,您可以使用 NSWorkspace 的这个 API。

https://developer.apple.com/documentation/appkit/nsworkspace/1526290-accessibilitydisplayshouldincrea

于 2018-11-10T12:20:03.040 回答