如何在 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
属性采用从 0
到 1
的浮点数。所以:
wantsSoftwareDimming
设置为NO
(默认值),brightness
of 0
表示“硬件支持的最暗”,brightness
的1
表示“硬件支持的最亮” .
wantsSoftwareDimming
设置为 YES
,brightness
的 0
表示“最暗的硬件通过覆盖调光视图支持 PLUS 变暗”,brightness
的 1
仍然表示“硬件支持的最聪明的”。
【讨论】:
感谢您的信息。我不知道“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 应用程序中更改亮度?的主要内容,如果未能解决你的问题,请参考以下文章