我一直在尝试在应用程序委托方法中重置用户的默认设备亮度:applicationDidEnterBackground
通过使用以下代码:
UIScreen.mainScreen().brightness = screenBrightness!
代码被调用,但亮度没有重置。任何人都知道如何使用 Swift(不是 obj-c)来完成这项工作
我一直在尝试在应用程序委托方法中重置用户的默认设备亮度:applicationDidEnterBackground
通过使用以下代码:
UIScreen.mainScreen().brightness = screenBrightness!
代码被调用,但亮度没有重置。任何人都知道如何使用 Swift(不是 obj-c)来完成这项工作
这段代码看起来是正确的,但请注意它在模拟器中不起作用,它只会在物理设备上生效。
此外,请确保 的值screenBrightness
介于 0 和 1 之间。
您可能无法在后台更改屏幕亮度。来自 Apple 的文档:
应用程序所做的亮度更改仅在应用程序处于活动状态时才有效。当您的应用不在前台时,系统会在适当的时候恢复用户提供的亮度设置。
您需要更改AppDelegate
. willResignActiveNotification
出于某种原因,当从通知 ( , didEnterBackgroundNotification
, )在视图控制器中触发时,它无法正常工作willTerminateNotification
。虽然,您可以为此使用 AppDelegate 方法:
func applicationWillResignActive(_ application: UIApplication) {
UIScreen.main.brightness = 0.5
}