phn*_*su4 10 iphone objective-c brightness ios5
我使用[[UIScreen mainScreen]setBrightness: ](在sdk 5.0中)更改我的应用程序中的系统背景灯.
以下步骤适用于我的应用程序
激活应用程序,将系统亮度设置为默认值,然后另存为sysBright.
使用我的应用更改亮度,更改亮度,然后另存为appBright.
使用主页按钮或锁定按钮ResignActive应用程序,将亮度设置为sysBright(步骤1值,系统默认亮度).
再次激活应用.然后它将重复上述步骤1至3.
步骤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];
}
Run Code Online (Sandbox Code Playgroud)
iOS并不意味着保留应用内亮度值.它应该在应用程序重新激活,退出,崩溃等后恢复系统值.因此,在applicationWillResignActive中没有必要这样做.
但它不起作用.这是一个错误.事实上,如果您切换到另一个应用程序(按两次主页按钮,然后选择另一个应用程序)
不要浪费你的时间只是向Apple提交错误报告(我做得很好).
解锁屏幕可恢复默认系统亮度.只需按两下电源按钮并解锁即可恢复原始亮度.
尝试这个...
- (void)applicationWillResignActive:(UIApplication *)application
{
CGFloat brightness = [[NSUserDefaults standardUserDefaults] floatForKey:@"sysBright"];
[[UIScreen mainScreen] setBrightness:brightness];
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2747 次 |
| 最近记录: |