【发布时间】:2012-01-02 16:27:43
【问题描述】:
如何编程在应用内更改亮度的功能?我知道这是可能的,因为我已经看到至少三个可以做到这一点的应用程序。这对我的应用程序非常有用。我知道它只能在 iOS 5 中使用 UIScreen 类,但我不知道如何对其进行编程。请帮帮我!
【问题讨论】:
标签: ios5 brightness screen-brightness uiscreen
如何编程在应用内更改亮度的功能?我知道这是可能的,因为我已经看到至少三个可以做到这一点的应用程序。这对我的应用程序非常有用。我知道它只能在 iOS 5 中使用 UIScreen 类,但我不知道如何对其进行编程。请帮帮我!
【问题讨论】:
标签: ios5 brightness screen-brightness uiscreen
我从未尝试过,但查看文档应该是这样的:
UIScreen *mainScreen = [UIScreen mainScreen];
mainScreen.brightness = .5; //should set the brightness at 50%
【讨论】:
您可以使用以下两种中的任何一种:
[[UIScreen mainScreen]setBrightness:1.0];
GSEventSetBacklightLevel(0.5f);但这是一个私有API调用,如果你使用它,你的应用肯定会被拒绝。
【讨论】:
UIScreen 类有一个新的property called brightness。
此外,还有另一个名为 wantsSoftwareDimming 的属性(当设置为 YES 时)允许您低于硬件支持的最低亮度,因为屏幕上覆盖了一个特殊的“调光视图”以使事物变暗更进一步。
brightness 属性采用从 0 到 1 的浮点数。所以:
wantsSoftwareDimming 设置为NO(默认值),brightness of 0 表示“硬件支持的最暗”,brightness 的1 表示“硬件支持的最亮” .wantsSoftwareDimming 设置为 YES,brightness 的 0 表示“最暗的硬件通过覆盖调光视图支持 PLUS 变暗”,brightness 的 1 仍然表示“硬件支持的最聪明的”。【讨论】:
正如其他人指出的那样,您可以使用
[[UIScreen mainScreen] setBrightness:1.0];
但是要非常小心,因为你会遇到问题(这里从经验谈起) 看这个: IOS5 setBrightness didn't work with applicationWillResignActive 和这个: Anyone been able to use [[UIScreen mainScreen] setBrightness] on background / exit?
(我希望我有,当我发现这个线程/答案时):-(
【讨论】: