2012-07-23 16 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

相關問題