我使用[[UIScreen mainScreen]setBrightness: ]
(在sdk 5.0中)更改了我应用中的系统背景光。
以下步骤适用于我的应用
sysBright
。 appBright
。 sysBright
(第1步值,系统默认亮度)。 第3步出了点问题,当我用锁定按钮禁用了应用程序时,
applicationWillResignActive
函数运行良好,它可以恢复亮度值(sysBright
)。但是当我按下主页按钮时,它不再起作用。亮度仍然是我在应用程序中更改的值。 (
appBright
)有人对此有任何想法吗?谢谢你的帮助〜
这是代码:
float appBright,sysBright;
- (void)applicationDidBecomeActive:(UIApplication *)application
{
sysBright = [[UIScreen mainScreen] brightness];
[[NSUserDefaults standardUserDefaults] setFloat:sysBright forKey:@"sysBright"];
[[UIScreen mainScreen] setBrightness:appBright];
}
//doesn't work when i ResignActive with the home button
- (void)applicationWillResignActive:(UIApplication *)application
{
[[NSUserDefaults standardUserDefaults] floatForKey:@"sysBright"];
[[UIScreen mainScreen] setBrightness:sysBright];
}
最佳答案
iOS并非要保留应用内亮度值。在应用程序退出事件,退出,崩溃等之后,它应该恢复系统值。因此,正式而言,无需在applicationWillResignActive中执行该操作。
但这是行不通的。这是一个错误。实际上,如果您切换到另一个应用程序(两次按“主页”按钮并选择另一个应用程序),它就可以工作
不要浪费您的时间,只需向Apple提交错误报告(我做的很好)。
解锁屏幕可恢复默认的系统亮度。只需按两次电源按钮并解锁即可恢复原始亮度。
关于iphone - iOS5 setBrightness不适用于applicationWillResignActive,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8280734/