我该如何在应用程序中编程实现改变亮度的功能? 我知道至少有三个应用程序可以做到这一点,因此这对我的应用程序非常有用。 我知道在iOS 5中使用UIScreen类才能实现这一点,但我不知道如何编程。 请帮助我!
我该如何在应用程序中编程实现改变亮度的功能? 我知道至少有三个应用程序可以做到这一点,因此这对我的应用程序非常有用。 我知道在iOS 5中使用UIScreen类才能实现这一点,但我不知道如何编程。 请帮助我!
UIScreen
类有一个名为brightness
的新属性。
此外,还有另一个属性称为wantsSoftwareDimming
(设置为YES
时),允许您降低硬件支持的最低亮度,因为会在屏幕上覆盖一个特殊的“调暗视图”来进一步变暗。
brightness
属性接受0
到1
之间的浮点数。 所以:
wantsSoftwareDimming
设置为NO
(默认值),brightness
为0
表示“硬件支持的最暗”,而brightness
为1
表示“硬件支持的最亮”。wantsSoftwareDimming
设置为YES
,brightness
为0
表示“硬件支持的最暗加上覆盖调暗视图”,而brightness
仍然表示“硬件支持的最亮”。我从未尝试过,但是看文档应该像这样进行:
UIScreen *mainScreen = [UIScreen mainScreen];
mainScreen.brightness = .5; //should set the brightness at 50%
你可以使用以下两种方法之一:
[[UIScreen mainScreen]setBrightness:1.0];
GSEventSetBacklightLevel(0.5f);
但这是一个私有的 API 调用,如果你使用它,你的应用程序肯定会被拒绝。
正如其他人指出的那样,您可以使用
[[UIScreen mainScreen] setBrightness:1.0];
但是要非常小心,因为你会遇到问题(从我的经验来看) 看看这个: IOS5 setBrightness didn't work with applicationWillResignActive 还有这个: Anyone been able to use [[UIScreen mainScreen] setBrightness] on background / exit?
(当我发现这个线程/答案时,我真希望我能够注意到):-(