我将如何编程更改应用内亮度的能力?我知道这是可能的,因为我已经看到至少三个可以做到这一点的应用程序。这对我的应用程序非常有用。我知道它只能在 iOS 5 中使用 UIScreen 类,但我不知道如何对其进行编程。请帮我!
问问题
8833 次
4 回答
35
该类UIScreen
有一个名为 的新属性brightness
。
此外,还有另一个称为wantsSoftwareDimming
that 的属性(当设置为 时YES
)允许您低于硬件支持的最低亮度,因为特殊的“调光视图”覆盖在屏幕上以进一步变暗。
该brightness
属性从0
到浮动1
。所以:
- 如果设置
wantsSoftwareDimming
为NO
(默认值),abrightness
of0
表示“硬件支持的最暗”,abrightness
of1
表示“硬件支持的最亮”。 - 设置
wantsSoftwareDimming
为 时YES
,abrightness
of0
表示“最暗的硬件通过叠加调光视图支持 PLUS 变暗”,abrightness
of1
仍然表示“硬件支持的最亮”。
于 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
您可以使用以下两种中的任何一种:
[[UIScreen mainScreen]setBrightness:1.0];
GSEventSetBacklightLevel(0.5f);
但这是一个私有的 API 调用,如果你使用它,你的应用程序肯定会被拒绝。
于 2011-11-21T04:40:28.853 回答