在您的應用程序委託的applicationWillResignActive:
方法中,您可以使UIImageView顯示某些不顯眼的彈出窗口。例如,假設您的應用程序擁有用戶的密碼。有人走在用戶身後,用戶按下主頁按鈕。這就調用applicationWillResignActive:
方法,該方法可能是地圖視圖,所以當walker不見了並且用戶重新打開應用程序時,它會直接打開到地圖視圖,而不是簡單地顯示用戶密碼。這是你會如何實現它:
//AppDelegate.m
- (void)applicationWillResignActive:(UIApplication *)application {
UIImageView *image = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"picOfMap.png"]];
image.frame = self.view.frame;
image.contentMode = UIViewContentModeCenter;
[self.window.rootViewController.view addSubview: image];
}
而這裏的時候applicationWillResignActive:
被稱爲的描述:
這個方法被調用,讓你的應用程序知道它即將從活動轉移到無效狀態。對於某些類型的臨時中斷(例如來電或SMS消息)或用戶退出應用程序並開始轉換到後臺狀態時,可能會發生這種情況。處於非活動狀態的應用程序將繼續運行,但不會將傳入的事件分派給響應方。 (UIApplicationDelegate Reference)
代碼中可能存在一些錯誤,因爲我不熟悉在App Delegate中工作,但這是您應該做的事情的要點。
但是當用戶回到應用程序時,我不希望該視圖再次出現。我希望用戶點擊主頁按鈕,當他們回來時,根本不顯示快照,無論是在主頁按鈕按下(快照)之前用戶正在查看的視圖,還是甚至可能強制到屏幕上的任何內容就在主頁出版之前(上面的解決方案)。我不想讓圖像/視圖在那裏,不管它是否不顯眼 –
@JohnBaum-當應用程序在被用戶關閉後重新打開時,快照將是「不顯眼」的圖像,而不是將顯示的敏感數據。你可以把代碼放在'applicationWillEnterForeground:'中去除圖像,這樣用戶就會回到原來的屏幕。基本上,我所有的代碼都會取代敏感數據的舊快照,並帶有平淡無奇的圖像;它不會影響任何其他事情。 – pasawaya
@JohnBaum你想表現什麼?從這個評論看來,你想要一個空白的屏幕。 – nycynik