applicationWillResignActive

applicationWillResignActive

我使用[[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];
    }
    

    最佳答案

    iOS并非要保留应用内亮度值。在应用程序退出事件,退出,崩溃等之后,它应该恢复系统值。因此,正式而言,无需在applicationWillResignActive中执行该操作。

    但这是行不通的。这是一个错误。实际上,如果您切换到另一个应用程序(两次按“主页”按钮并选择另一个应用程序),它就可以工作

    不要浪费您的时间,只需向Apple提交错误报告(我做的很好)。

    解锁屏幕可恢复默认的系统亮度。只需按两次电源按钮并解锁即可恢复原始亮度。

    关于iphone - iOS5 setBrightness不适用于applicationWillResignActive,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8280734/

    10-13 04:27