【问题标题】:Get Current Screen Brightness获取当前屏幕亮度
【发布时间】:2017-04-04 06:43:02
【问题描述】:

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

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

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

但我想知道,当用户关闭视图时,亮度会恢复到原来的状态。

使用它的应用是 Stocard。当查看卡片的条形码时,屏幕的亮度会最大,当条形码视图关闭时,屏幕的亮度会恢复到用户之前的状态。

如果有人知道如何在 Swift 2.3 中做到这一点,那就太好了。

【问题讨论】:

    标签: ios swift brightness


    【解决方案1】:

    获取当前屏幕亮度Swift 3

        let currentBrightness = UIScreen.main.brightness  
    

    设置屏幕亮度Swift 3

        UIScreen.main.brightness = CGFloat(0.7)  
    

    Apple's documentation 中提到的范围是 0.0 - 1.0

    【讨论】:

      【解决方案2】:

      您正在寻找 UIScreen 类。

      只需访问主屏幕并获取如下属性:

      UIScreen.mainScreen().brightness
      

      let currentBrightness = UIScreen.mainScreen().brightness
      

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

      在 Swift 4+ 中

      let currentBrightness = UIScreen.main.brightness
      

      【讨论】:

      • 他确实要求使用 Swift 2.3 语法。所以那将是UIScreen.mainScreen().brightness。如果这对任何人都不是显而易见的。
      • 在 Swift 4.1 中让 currentBrightness = UIScreen.main.brightness
      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-07-31
        • 2016-12-17
        • 2011-05-31
        • 2012-02-14
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多