我正在开发一个将无限期地在设备上运行的Swift 3应用程序。这对设备来说非常紧张,我想关掉显示屏,直到我触发事件再打开它。
我可以设置isProximityMonitoringEnabled来关闭设备屏幕,并在覆盖传感器的情况下在后台运行应用程序。但是,当我将其设置为false时,屏幕不会重新打开(如果我以编程方式切换到另一个视图,它甚至不会打开),直到我取下封面。
UIDevice.current.isProximityMonitoringEnabled = true;
截至目前,我在闲置时将屏幕亮度降低到0.0。
UIScreen.main.brightness = CGFloat(0.0)
我不介意使用私有API,就像这里的答案https://stackoverflow.com/a/12944387/1509698所说的那样。但是对于我的生活,我无法将其转换为Swift或找到在iOS 10上运行的代码片段。
答案 0 :(得分:0)
尝试此扩展程序,它适用于我
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
}
}