获取当前屏幕亮度

Get Current Screen Brightness

有谁知道如何获取用户当前的屏幕亮度或临时更改一次视图的亮度?

当用户启动特定视图时,屏幕会变暗到尽可能低的亮度。在这种情况下,我使用的是:

UIScreen.mainScreen().brightness = CGFloat(0.0)

但我想知道,当用户关闭视图时,亮度 returns 完全符合他们的亮度。

使用它的一个应用程序是 Stocard。当查看卡片的条码时,屏幕的亮度会调到最大,而当条码视图关闭时,屏幕的亮度 returns 完全达到用户之前的亮度。

如果有人知道如何在 Swift 2.3 中执行此操作,那就太好了。

您正在寻找 UIScreen class。

只需访问主屏幕并获得 属性,如下所示:

UIScreen.mainScreen().brightness

let currentBrightness = UIScreen.mainScreen().brightness

(除了获取还可以设置亮度属性)

在Swift4+

let currentBrightness = UIScreen.main.brightness

您需要在您的 NSUserDefaults 中保存您想要设置的值,并在您的应用程序委托的 applicationDidBecomeActive: 方法中调用 setBrightness: 来恢复亮度。

获取当前屏幕亮度Swift 3

    let currentBrightness = UIScreen.main.brightness  

设置屏幕亮度Swift3

    UIScreen.main.brightness = CGFloat(0.7)  

Apple's documentation

中提到的范围是 0.0 - 1.0