UIScreen 亮度属性

Posted

技术标签:

【中文标题】UIScreen 亮度属性【英文标题】:UIScreen Brightness Property 【发布时间】:2011-12-15 14:22:52 【问题描述】:

目前我正在尝试创建一个应用程序来调整设备的亮度。在 ios5 中,mainScreen 新增了亮度属性,可让您设置屏幕亮度。我正在使用以下代码:

[[UIScreen mainScreen] setBrightness:1.0];

但是,这似乎只在设备被锁定之前有效,并且不会保存在设置中。是不是我做错了什么?

【问题讨论】:

【参考方案1】:

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

【讨论】:

谢谢,有没有办法使用公共 API 永久设置设备的亮度? 我不这么认为,而且我也不想这样。某些应用程序降低/提高亮度可能是有意义的,但我不希望这些应用程序弄乱我的设备亮度。如果你每次进入这样的应用程序,你的亮度都会改变,这会很烦人。【参考方案2】:

它在 iPad 和 iPhone 上设置设备的亮度,就像在“设置”中一样。即使应用程序关闭,它也会改变亮度,这有点烦人。您必须以适当的方法以编程方式将其重置为默认值。我刚刚创建了一个跟踪表应用程序 Lite Box,并注意到它不会回到初始设置,即使应用程序被强制关闭也是如此。您必须重新打开应用程序....设置回默认值,或转到您的设置并将其更改回来。

【讨论】:

以上是关于UIScreen 亮度属性的主要内容,如果未能解决你的问题,请参考以下文章

UIWindow 中的 UIScreen 属性有啥用?

iOS - UIScreen的 boundframescale属性

我们如何以编程方式更改iPhone屏幕的亮度?

如何在 iOS 5 应用程序中更改亮度?

在 iOS 5 中获取屏幕亮度值

“UIScreen”没有成员“main”