2013-03-14 15 views
0

當iOS應用程序將狀態從前臺更改爲後臺時,操作系統將獲取當前視圖(屏幕)的快照,並且當它再次出現在前臺時,將顯示該快照。 有什麼辦法(動畫或任何東西)截取該快照並顯示任何自定義圖像,當應用程序從背景前景?iOS,iPhone快照在後臺/前臺轉換中

注: 我不想採取任何視圖的快照,我只是希望在應用程序中輸入從後臺到前臺顯示任何自定義圖像,以使其更清晰,無論快照中的OS顯示器,而即將前景從後臺開始,我想用自定義圖像替換該快照,我想要的行爲是「每當從後臺轉換到前臺時,應用程序都會每次顯示我的自定義圖像,而不管它從哪個視圖進入背景。」預先感謝您的幫助。

回答

2

您可以註冊UIApplicationDidEnterBackgroundNotification通知,然後顯示您想要呈現的圖像。

1

有兩種委託方式提供的AppDelegate本身:

- applicationDidEnterBackground 
- applicationWillEnterForeground 

有關此方法的詳細信息,UIApplicationDelegate class reference

因此,使用這兩種方法,你可以找到的事件,在那裏你需要採取參考一個快照和另一個顯示該圖像的地方。

現在,如何把你的觀點的一個快照,所以這裏是一個代碼片段:

// define the frame as per your requirement 
    CGRect contextRect = CGRectMake(0, 0, myView.frame.size.width, 
            myView.frame.size.height); 
    // whatever you need 

    UIGraphicsBeginImageContext(contextRect.size); 

    [myView.layer renderInContext:UIGraphicsGetCurrentContext()]; 

    UIImage* viewImage = UIGraphicsGetImageFromCurrentImageContext(); 

    UIGraphicsEndImageContext(); 

viewImage是包含屏幕的截屏圖像的對象。因此,在applicationWillEnterForeground方法中將此圖像顯示在UIImageView中。

希望這將幫助你解決你的問題

+0

我不想採取任何視圖的快照,我只是希望在應用程序中輸入從後臺到前臺顯示任何自定義圖像,以使其更清晰,無論操作系統在從後臺進入前臺時顯示的快照如何,我都想用自定義圖像替換該快照。我希望的行爲是「每當從後臺轉移到前臺時,應用程序都會每次顯示自定義圖像,而不管在後臺輸入的視圖。「預先感謝您的幫助。 – 2013-03-21 09:39:02

+0

然後在AppDelegate類中的applicationWillEnterForeground方法中實現您的代碼 – Mrunal 2013-03-21 09:48:09