2012-07-23 18 views
0

在iOS上,当用户按下硬按钮时,系统似乎会截取应用程序的状态(以便在下次启动应用程序时显示该应用程序,以使加载对用户透明)然后调用UIApplicationDelegate的applicationDidEnterBackground指示它进入后台状态的应用程序。是对的吗 ?如何知道用户在屏幕截图之前何时按下iOS设备上的硬按钮?

我需要做的是要知道用户在系统拍摄屏幕截图之前按下硬按钮。事实上,我希望在进入后台状态时修改我的视图,因为我希望在应用程序未来再次启动时隐藏一些内容。

看起来applicationDidEnterBackground在获取屏幕截图后被调用。有没有办法被称为BEFORE?

感谢

回答

0

- (void)applicationWillResignActive:(UIApplication *)application截图在作出决定之前可能运行。它在- (void)applicationDidEnterBackground:(UIApplication *)application之前被调用。如果它在屏幕截图之前没有运行,那么我认为您无需使用私有API就可以更改重新打开的屏幕截图的数据。

+0

谢谢。我其实已经尝试过了(在我的文章中忘记提及这一点),并且在发送applicationWillResignActive或发布UIApplicationWillResignActiveNotification之前,似乎截图已被采用。有没有办法禁用截图的东西?在模拟器上,每次应用程序加载时,闪屏都是应用程序的默认启动画面。是否有可能在设备上获得? – Vincent 2012-07-23 16:39:12

+1

仅当您禁用应用程序以保存背景状态时。你可以通过在你的plist上添加一个bool来实现'UIApplicationExitsOnSuspend = YES' – Jeremy1026 2012-07-23 16:47:19

+0

这很有道理,谢谢 – Vincent 2012-07-24 08:08:39

0

您可以使用UIApplicationWillResignActiveNotification通知。

+0

谢谢。我其实已经尝试过了(在我的文章中忘记提及这一点),并且在发送applicationWillResignActive或发布UIApplicationWillResignActiveNotification之前,似乎截图已被采用。有没有办法禁用截图的东西?在模拟器上,每次应用程序加载时,闪屏都是应用程序的默认启动画面。是否有可能在设备上获得? – Vincent 2012-07-23 16:39:20

相关问题