19

我将如何编程更改应用内亮度的能力?我知道这是可能的,因为我已经看到至少三个可以做到这一点的应用程序。这对我的应用程序非常有用。我知道它只能在 iOS 5 中使用 UIScreen 类,但我不知道如何对其进行编程。请帮我!

4

4 回答 4

35

该类UIScreen有一个名为 的新属性brightness

此外,还有另一个称为wantsSoftwareDimmingthat 的属性(当设置为 时YES)允许您低于硬件支持的最低亮度,因为特殊的“调光视图”覆盖在屏幕上以进一步变暗。

brightness属性从0到浮动1。所以:

  • 如果设置wantsSoftwareDimmingNO(默认值),a brightnessof0表示“硬件支持的最暗”,a brightnessof1表示“硬件支持的最亮”。
  • 设置wantsSoftwareDimming为 时YES,a brightnessof0表示“最暗的硬件通过叠加调光视图支持 PLUS 变暗”,a brightnessof1仍然表示“硬件支持的最亮”。
于 2011-11-21T04:40:54.620 回答
13

我从未尝试过,但是查看文档应该是这样的:

UIScreen *mainScreen = [UIScreen mainScreen];
mainScreen.brightness = .5; //should set the brightness at 50%
于 2011-11-21T04:37:44.387 回答
1

正如其他人指出的那样,您可以使用

[[UIScreen mainScreen] setBrightness:1.0];

要非常小心,因为你会遇到问题(从这里的经验谈)看看这个: IOS5 setBrightness 不能与 applicationWillResignActive 一起工作 ,这个: 任何人都能够在后台/退出上使用 [[UIScreen mainScreen] setBrightness]?

(我希望我有,当我发现这个线程/答案时):-(

于 2012-10-04T12:08:40.967 回答
1

您可以使用以下两种中的任何一种:

  1. [[UIScreen mainScreen]setBrightness:1.0];

  2. GSEventSetBacklightLevel(0.5f);但这是一个私有的 API 调用,如果你使用它,你的应用程序肯定会被拒绝。

于 2011-11-21T04:40:28.853 回答