苹果已经在手机中添加了一般>辅助功能>反转颜色的功能,我可以在我的程序中以某种方式使用它,例如当用户触摸屏幕时颜色反转吗?
我不知道有什么方法可以自动执行此操作,但是您可以使用 UIColor 上的扩展并访问子视图来自己反转颜色?
extension UIColor {
var inverted: UIColor {
var r: CGFloat = 0.0, g: CGFloat = 0.0, b: CGFloat = 0.0, a: CGFloat = 0.0
self.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.
}
}
Run Code Online (Sandbox Code Playgroud)
然后,如果您想更新视图的特定属性,您可以执行以下操作:
view.subviews.map { $0.backgroundColor = $0.backgroundColor.invertedColor }
// And so on to change things like the tint color, text color, etc.
Run Code Online (Sandbox Code Playgroud)
抱歉,我不知道直接执行此操作的方法,但在此之前,我想这总比没有好。
据我所知,没有这样的 API 调用,坦率地说,如果它可用,我会感到惊讶。一般来说,Apple 不会为单个应用程序提供系统范围的设置。但是,您可以自己实现此\xe2\x80\x94,但仅限于您自己的应用程序。
\n| 归档时间: |
|
| 查看次数: |
4737 次 |
| 最近记录: |