我有一个iOS 5.0应用程序,我希望在它终止之前更改屏幕亮度。我用过:
[[UIScreen mainScreen] setBrightness:0.2];
我只有一个视图。我尝试在applicationWillTerminate
,viewDidUnload
,viewWillUnload
,viewWillDisappear
中运行此功能。我使用断点来确认代码确实已执行,但屏幕亮度不会改变。
我做错了什么?
这样做的原因是我改变了应用程序内部的亮度,我希望将亮度恢复到启动应用程序之前的亮度。
答案 0 :(得分:4)
看起来这可能是一个错误: https://devforums.apple.com/message/625119
答案 1 :(得分:1)
问题在于您无法始终捕获应用程序终止。事实上,您只能在UIApplicationExitOnSuspend
使用info.plist
来执行此操作,这会禁用应用的后台模式,并且每次按下主页按钮时都会调用applicationWillTerminate
。如果您希望并且可能支持后台模式,则解决方法是在applicationWillResignActive
恢复系统级亮度,在applicationDidBecomeActive
恢复应用级别。