我正在开发一个Swift 3应用程序,它将无限期地在设备上运行。这对设备压力很大,我想关闭显示器,直到触发事件将其重新打开。
我可以将isProximityMonitoringEnabled设置为关闭设备屏幕,并在覆盖传感器的情况下在后台运行应用程序。但是,当我将其设置为false时,屏幕才不会重新打开(如果我以编程方式搜索到另一个视图,它甚至都不会打开),直到我取下封面为止。
UIDevice.current.isProximityMonitoringEnabled = true;
截至目前,我将空闲时的屏幕亮度降低到0.0。
UIScreen.main.brightness = CGFloat(0.0)
我不介意像https://stackoverflow.com/a/12944387/1509698所说的那样使用 private API。但是对于我一生来说,我无法将其转换为Swift,也找不到在iOS 10上运行的代码段。
最佳答案
试试这个扩展,对我有用
import UIKit
extension UIScreen
{
static func setMainBrightness(brightness: CGFloat)
{
guard (0...1).contains(brightness) else
{
print("Attempt to set the screen brightness to an invalid value: \(brightness) should be between 0 and 1 inclusive.")
return
}
self.main.brightness = brightness
}
}