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

Posted

技术标签:

【中文标题】如何在 iOS 5 应用程序中更改亮度?【英文标题】:How to change brightness in iOS 5 app? 【发布时间】:2012-01-02 16:27:43 【问题描述】:

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

【问题讨论】:

【参考方案1】:

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

UIScreen *mainScreen = [UIScreen mainScreen];
mainScreen.brightness = .5; //should set the brightness at 50%

【讨论】:

谢谢!这正是我所需要的。【参考方案2】:

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

    [[UIScreen mainScreen]setBrightness:1.0];

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

【讨论】:

【参考方案3】:

UIScreen 类有一个新的property called brightness

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

brightness 属性采用从 01 的浮点数。所以:

wantsSoftwareDimming 设置为NO(默认值),brightness of 0 表示“硬件支持的最暗”,brightness1 表示“硬件支持的最亮” . wantsSoftwareDimming 设置为 YESbrightness0 表示“最暗的硬件通过覆盖调光视图支持 PLUS 变暗”,brightness1 仍然表示“硬件支持的最聪明的”。

【讨论】:

感谢您的信息。我不知道“wantsSoftwareDimming”选项,但它对我的应用有很大帮助!【参考方案4】:

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

[[UIScreen mainScreen] setBrightness:1.0];

但是要非常小心,因为你会遇到问题(这里从经验谈起) 看这个: IOS5 setBrightness didn't work with applicationWillResignActive 和这个: Anyone been able to use [[UIScreen mainScreen] setBrightness] on background / exit?

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

【讨论】:

以上是关于如何在 iOS 5 应用程序中更改亮度?的主要内容,如果未能解决你的问题,请参考以下文章

IOS中的亮度错误

如何应用亮度控制和更改文本颜色?

如何在我的应用程序中更改“调暗显示”和“调暗显示亮度”设置 (Windows)?

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

我们如何在 iOS 模拟器中测试动态类型(文本大小)?

在 ios 5 模拟器中使用时如何更改 UIPageControl 的颜色