1

我一直在尝试在应用程序委托方法中重置用户的默认设备亮度:applicationDidEnterBackground通过使用以下代码:

UIScreen.mainScreen().brightness = screenBrightness!

代码被调用,但亮度没有重置。任何人都知道如何使用 Swift(不是 obj-c)来完成这项工作

4

2 回答 2

1

这段代码看起来是正确的,但请注意它在模拟器中不起作用,它只会在物理设备上生效。

此外,请确保 的值screenBrightness介于 0 和 1 之间。

您可能无法在后台更改屏幕亮度。来自 Apple 的文档:

应用程序所做的亮度更改仅在应用程序处于活动状态时才有效。当您的应用不在前台时,系统会在适当的时候恢复用户提供的亮度设置。

于 2015-08-30T23:35:35.077 回答
-1

您需要更改AppDelegate. willResignActiveNotification出于某种原因,当从通知 ( , didEnterBackgroundNotification, )在视图控制器中触发时,它无法正常工作willTerminateNotification。虽然,您可以为此使用 AppDelegate 方法:

func applicationWillResignActive(_ application: UIApplication) {
    UIScreen.main.brightness = 0.5
}
于 2019-07-15T13:35:39.217 回答