使用swift,是否可以访问可访问性的反转颜色function?

苹果已经放入手机中的function一般>可访问性>反转颜色,我可以在程序中以某种方式使用它,以便当用户触摸屏幕颜色反转时?

我不知道如何自动执行此操作,但您可以使用UIColor上的扩展并访问子视图来自行反转颜色?

extension UIColor { var inverted: UIColor { var r: CGFloat = 0.0, g: CGFloat = 0.0, b: CGFloat = 0.0, a: CGFloat = 0.0 UIColor.red.getRed(&r, green: &g, blue: &b, alpha: &a) return UIColor(red: (1 - r), green: (1 - g), blue: (1 - b), alpha: a) // Assuming you want the same alpha value. } } 

然后,如果您想更新视图的特定属性,您可以执行以下操作:

  view.subviews.map { $0.backgroundColor = $0.backgroundColor.invertedColor } // And so on to change things like the tint color, text color, etc. 

对不起,我不知道直接这样做的方法,但在此之前,这比我想的更好。

我知道没有这样的API调用,坦率地说,如果它可用,我会感到惊讶。 通常,Apple不会为单个应用程序提供系统范围的设置。 但是,您可以自己实现 – 但仅限于您自己的应用。